From stuart.marks at oracle.com  Thu Dec  1 00:27:34 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Thu, 01 Dec 2011 00:27:34 -0800
Subject: JDK8 Warnings Cleanup Day: Coding Guideline
Message-ID: <4ED73A76.6050004@oracle.com>

Warnings Cleanup Day is here!

When you're cleaning up warnings today, we'd like you to focus on one thing:

     ==> simple, minimal, and risk-free warnings fixes <==

Most of the warnings can be eliminated with such changes. For example, take a 
look at Alan Bateman's recent changeset [1]. The vast majority of these are 
one-line changes. These should be close to obviously correct by inspection, so 
that we can push in as many warning fixes as we can with only minimal testing.

Along the way you'll inevitably run across opportunities to do other cleanups, 
do some refactoring, reformatting, fixing little bugs you run across, and so 
forth. Please avoid this temptation and stay focused on minimal warning fixes.

Another thing you'll probably run into is warnings that can be removed by 
changing public APIs. In some cases APIs aren't very well designed 
(particularly with generics and wildcards) so using them always generates 
warning messages. Unfortunately, because of compatibility constraints and 
processes for evolving Java's public APIs, any such changes are out of scope 
for Cleanup Day. If you run across such cases, please note them so that we can 
file a bug, and move on.

It's not a goal of cleanup day to eliminate every last warning. We expect that 
there will be a small number of warnings that are caused by poor APIs, or that 
are too difficult to fix or that require too much discussion to deal with in a 
single day. Again, make a note of these, keep things simple, and move on.

OK, enough talk. Let's code!

s'marks

[1] http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7795c41ed54c

From stuart.marks at oracle.com  Thu Dec  1 01:16:29 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Thu, 01 Dec 2011 01:16:29 -0800
Subject: Request for Review of 7116890 (Warning Cleanup java.io)
In-Reply-To: <4ED7039A.2080903@gmx.de>
References: <4ED7039A.2080903@gmx.de>
Message-ID: <4ED745ED.6080409@oracle.com>

Hi Sebastian,

Thanks for submitting this patch! I've filed bug 7116890 to cover this set of 
changes.

Regarding webrev, it probably does get confused by merges in the history. By 
default it tries to show differences between the tip of the target repository 
and tip + uncommitted changes in your local repository. This isn't always the 
right thing. One thing you might try is to use the -r option to specify a 
particular revision in the history against which to generate the diffs. But, 
having a few extra files isn't a big deal.

On to your changes.

Most of them are really good and are exactly the kind of simple change we're 
looking for, as I posted a little while ago. [1]

The ExpiringCache.java case is an interesting one. I think it's possible to add 
a static serialVersionUID field within the anonymous class. It's hard to run 
serialver over an anonymous class (actually it might be possible to run the 
checksum algorithm on the loaded class) but if in practice it's never 
serialized, who cares what the "correct" value is? You could just use a value 
of 0L.

An alternative would also be to use @SuppressWarnings("serial"). Since the 
constructor is so short, you could just put it on the constructor.

Actually I prefer @SuppressWarnings, since adding serialVersionUID adds to the 
system's footprint. If it's never used, we shouldn't bother defining it.

Given these alternatives, it's not necessary to create a static 
CacheHashMapImpl class.

Regarding the FilePermission.java change, yes, I see that the 
skipBeforePreviousComma() change is problematic. I puzzled over it for a while 
too. I wish I had sent out the Coding Guideline [1] earlier; it might have 
saved you an hour. :-) Sorry about that.

A cleanup/rewrite of this code would indeed be better done separate from 
Warnings Cleanup Day. But I think there might be a simple way to get rid of the 
warning without doing a cleanup or refactoring. The warning message in question 
is at line 535 of the original code, about falling through to the next case. 
But the next case doesn't actually do anything but break. Could we just change 
the /*FALLTHROUGH*/ comment to a break statement? I think that would fix the 
warning without changing the logic at all.

s'marks

[1] http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-December/000380.html


On 11/30/11 8:33 PM, Sebastian Sickelmann wrote:
> Hi,
>
> i have a webrev[0] that contains some warning cleanup for java.io
> It is based on rev 7795c41ed54c http://hg.openjdk.java.net/jdk8/tl/jdk/
>
> Some comments to the changes:
>
> ExpiringCache.java: Changed anonymous inner class to inner class with the
> intention to put serialversion inside of it. But serialver doesn't want to give
> my the serialver. I also think that ExpiringCache is not serializable but the
> warning was clear: the anonymous inner class is seriallizable and has no
> explicit serialversionuid.
>
> FilePermission.java: I have starred at the code between line 453 and 547 for
> over an hour, because i thought that there is a bug within the expression "i >=
> matchlen" in line 530 and the both "i != -1" in lines 457 and 461. But there is
> no bug. But i wanted to left this code slightly more readable. I introduced the
> method skipBeforePreviousComma to make it possible to work-around the
> fallthought warning with an return statement. This code-change need's some more
> review attention. Maybe we should split this up for another cleanup. I think
> the whole method needs some rewrite.
>
> Some classes had no change at all. Maybe webrev created them because there
> where changes in my history/branches. There were some patches from alan i saw
> to late. Maybe webrev is confused of the multiple merges.
>
> Can someone please create a CR for this and
>
> [0]
> http://dl.dropbox.com/u/43692695/oss-patches/openjdk8/Warning_Cleanup_Java_io/webrev0_based_on_7795c41ed54c/index.html
>
>

From develop4lasu at gmail.com  Thu Dec  1 02:21:00 2011
From: develop4lasu at gmail.com (=?UTF-8?Q?Marek_Kozie=C5=82?=)
Date: Thu, 1 Dec 2011 11:21:00 +0100
Subject: Syntactic sugar for method chaining / fluent interfaces Syntactic
	sugar for method chaining / fluent interfaces Syntactic sugar for
	method chaining / fluent interfaces
In-Reply-To: <CAHJmSV-tRZF6CJR0_exgtQzHEJpWd96nnC=sXugDJQdmv=iQdg@mail.gmail.com>
References: <CAHJmSV_dnAgEin9TVuBytY-hKrGQFf5P-UhGfghxaTLkjyAdxw@mail.gmail.com>
	<CABnvQsEZzGwpe_EXGoEy90BSRLpdA4Ve1K+3C=SVcwdGm58Efg@mail.gmail.com>
	<CAHJmSV-tRZF6CJR0_exgtQzHEJpWd96nnC=sXugDJQdmv=iQdg@mail.gmail.com>
Message-ID: <CABnvQsFhEhCFAjXtFdE9MX6ysx4AiqSFT3_DAYvZes1SE2_a5Q@mail.gmail.com>

Hi.
I can agree that many ppl would be happy about such solution. But
while it's language change the main question is: "What harm can it
bring to language?"

Problem lay on interfaces/classes that already exists.
'void' have more than one meaning now time:
1st: there is no need to return anything.
2nd: creator wanted to prevent from chaining - to force one line-one
call formating.
3rd: space for future return type was left.
what's more
allowing mixing void with this would bring ppl to use DoNotTouch class
as force to maintain previous void meaning.
because of above reasons I suggested void+this solution.

I really wonder if language can be harmed in order to fix things that
was written in wrong way.

Unfortunately any change into types system can be pretty heavy as well.


2011/11/22 Eirik Lygre <eirik.lygre at gmail.com>:
>
>
> On Mon, Nov 21, 2011 at 3:07 PM, Marek Kozie? <develop4lasu at gmail.com>
> wrote:
>>
>> 2011/11/20 Eirik Lygre <eirik.lygre at gmail.com>:
>> > It seems that the various Java SE 8 projects have lots of care for
>> > simple
>> > and expressive code, for example as demonstrated by the "Language /
>> > Library
>> > / VM co-evolution in Java SE 8" presentation from Devoxx. Hence, I
>> > wonder
>> > if there is any interest for reviving an older suggestion about simple
>> > method chaining / fluent interface.
>> >
>> > I'm not really qualified to suggest the formal syntax, but it probably
>> > boils down to this:
>> >
>> > ? ?A void method call "object.function(...)" evaluates to the object
>> > itself
>> >
>> > This will be syntactic sugar (compiler only, no jvm changes), making it
>> > possible to chain method calls across void methods. For example:
>> >
>> > ? ?Socket so = new SSLSocket()
>> > ? ? ? ? ? ? ? ?.setSendBufferSize(1024) ? ? ? ?// void
>> > Socket.setSendBufferSize(int)
>> > ? ? ? ? ? ? ? ?.setReceiveBufferSize(1024) ? ? // void
>> > Socket.setSendBufferSize(int)
>> > ? ? ? ? ? ? ? ?.setNeedClientAuth(true); ? ? ? // void
>> > SSLSocket.setNeedClientAuth(boolean)
>> >
>> > A couple of points on the rationale for the suggestion:
>> >
>> > * First, it will enable method chaining on a large body of existing
>> > code.
>> > The javabeans spec says that setters should return void, and this
>> > suggestion would automatically allow fluent use of such beans.
>> >
>> > * It will allow a level of fluent interfaces that are otherwise not
>> > possible, in that it will simulate a "self" return type. If you want to
>> > ?implement a fluent interface today, you would return your own type. If
>> > somebody then created a subclass, and wanted to maintain fluency, they
>> > would have to override all parent methods, as shown below. Of course,
>> > this
>> > means that fluent methods added to the superclass must also be added to
>> > all
>> > subclasses, which isn't really an ideal situation if you want to evolve
>> > an
>> > api.
>> >
>> > ? ?class Socket {
>> > ? ? ? ?Socket setSendBufferSize(...); ? // Can be chained
>> > ? ?}
>> >
>> > ? ?class SSLSocket extends Socket {
>> > ? ? ? ?SSLSocket setSendBufferSize(...) { ? ? ? ? ? ? ? ? ? ? ?// Change
>> > return type, to maintain chainability
>> > ? ? ? ? ? ?return (SSLSocket)super.setSendBufferSize(...); ? ? // Cast
>> > required.
>> > ? ? ? ?}
>> > ? ?}
>> >
>> > This is not a new idea. It was suggested for project coin, where there
>> > are
>> > more references:
>> >
>> > * It was suggested for project coin by Ulf Zibis (
>> > http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/001180.html).
>> > * I've not found much discussion, other than a quick email from Joe
>> > Darcy (
>> > http://mail.openjdk.java.net/pipermail/coin-dev/2009-May/001768.html),
>> > where the idea is rejected: "While fluent interfaces are fine, I don't
>> > think using a language change ?to retrofit this pattern of API usage on
>> > code not written that way is ?the best use of the language change
>> > budget."
>> >
>> > While it was considered (and rejected) for SE 7, it might still be
>> > proper
>> > for SE 8. Method chaning / fluent interfaces are used in pretty much all
>> > lambda examples, as a useful code pattern. I think it's useful, too, and
>> > think it should be made easier accessible across the language.
>> >
>> > I've got two hopes for this email:
>> >
>> > * First, feedback on whether the community considers this to be useful,
>> > or
>> > not
>> > * Second, feedback on how to proceed, if it is in fact considered useful
>> >
>> > Eirik Lygre
>> > eirik.lygre at gmail.com
>> >
>>
>>
>> There are more reasons against.
>> One of the most important problem occurs when void will be changed
>> into other type in future.
>>
>> How hard to track bugs can be when new return type will have same
>> methods as 'this'? 'Return 'this' proposal' was made to fill that gap.
>> Some of discussion can be found under (but there where more about it):
>> http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000523.html
>>
>>
>> and little under:
>> http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000107.html
>>
>> --
>> Regards.
>> Lasu aka Marek Kozie?
>
> Since you give only one example, I'll have to limit my comment to that
> one. On the other hand, you have a suggestion for an alternative syntax
> to the same problem, so I guess we have a common goal :-)
> You say that the problem occurs when "void will be changed into
> other type in the future". That problem, however, applies to any fluent
> interface, whether manually specified, using the mechanism I described,
> or the mechanism you described. For example, using an abstract
> class that writes to somewhere:
> ? ? class Output {
> ? ? ? ? public Output append (char c); ?// Manual fluent interface
> ? ? ? ? public void append (CharSeq csq); // My suggestion
> ? ? ? ? public this append (CharSeq csq, int s, int e); // Your suggestion
> ? ? }
> Now, all of these would suffer from hard debugging if the return type
> was changed from one of Output, void or append to, say,
> java.lang.Appendable, as the following would all compile:
> ? ? // All of these will first call Output.append(), then
> ? ? // Appendable.append
> ? ? new Output().append('a').append('b');
> ? ? new Output().append("a").append("b");
> ? ? new Output().append("a",0,1).append("a",0.1);
> My suggestion has the advantage, or disadvantage, of "just
> working" with a lot of existing api's (including all api's that
> comply to the javabeans specification). To me, that is a
> great advantage.
> It is correct that opening for auto-fluency using void methods,
> or?whatever this proposal should be called, will "lock down"
> existing?void?methods. However, that?is?pretty much the
> case already today, since changing the?return type of a
> method will invalidate any subclass which?tries to override
> the method ("sub cannot override func() in?super;
> attempting to use incompatible return type")
> And, the benefits are there. They are not purely cosmetic,
> but also functional.
> * It will significantly simplify fluent programming
> * It will enable fluent apis that cannot be made today
> * It will enable fluent thinking on existing code
> * No?existing programs will fail or change behavior
> --
> Eirik
>
>



-- 
Pozdrowionka. / Regards.
Lasu aka Marek Kozie?

http://na-chlodno.blogspot.com/
http://lasu2string.blogspot.com/

From sebastian.sickelmann at gmx.de  Thu Dec  1 08:27:47 2011
From: sebastian.sickelmann at gmx.de (Sebastian Sickelmann)
Date: Thu, 01 Dec 2011 17:27:47 +0100
Subject: Request for Review of 7116890 (Warning Cleanup java.io)
In-Reply-To: <4ED745ED.6080409@oracle.com>
References: <4ED7039A.2080903@gmx.de> <4ED745ED.6080409@oracle.com>
Message-ID: <4ED7AB03.6000006@gmx.de>

Am 01.12.2011 10:16, schrieb Stuart Marks:
> Hi Sebastian,
>
> Thanks for submitting this patch! I've filed bug 7116890 to cover this 
> set of changes.
>
> Regarding webrev, it probably does get confused by merges in the 
> history. By default it tries to show differences between the tip of 
> the target repository and tip + uncommitted changes in your local 
> repository. This isn't always the right thing. One thing you might try 
> is to use the -r option to specify a particular revision in the 
> history against which to generate the diffs. But, having a few extra 
> files isn't a big deal.
>
> On to your changes.
>
> Most of them are really good and are exactly the kind of simple change 
> we're looking for, as I posted a little while ago. [1]
>
> The ExpiringCache.java case is an interesting one. I think it's 
> possible to add a static serialVersionUID field within the anonymous 
> class. It's hard to run serialver over an anonymous class (actually it 
> might be possible to run the checksum algorithm on the loaded class) 
> but if in practice it's never serialized, who cares what the "correct" 
> value is? You could just use a value of 0L.
>
> An alternative would also be to use @SuppressWarnings("serial"). Since 
> the constructor is so short, you could just put it on the constructor.
>
> Actually I prefer @SuppressWarnings, since adding serialVersionUID 
> adds to the system's footprint. If it's never used, we shouldn't 
> bother defining it.
>
> Given these alternatives, it's not necessary to create a static 
> CacheHashMapImpl class.
>
> Regarding the FilePermission.java change, yes, I see that the 
> skipBeforePreviousComma() change is problematic. I puzzled over it for 
> a while too. I wish I had sent out the Coding Guideline [1] earlier; 
> it might have saved you an hour. :-) Sorry about that.
>
> A cleanup/rewrite of this code would indeed be better done separate 
> from Warnings Cleanup Day. But I think there might be a simple way to 
> get rid of the warning without doing a cleanup or refactoring. The 
> warning message in question is at line 535 of the original code, about 
> falling through to the next case. But the next case doesn't actually 
> do anything but break. Could we just change the /*FALLTHROUGH*/ 
> comment to a break statement? I think that would fix the warning 
> without changing the logic at all.
>
> s'marks
>
> [1] 
> http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-December/000380.html
>
>
> On 11/30/11 8:33 PM, Sebastian Sickelmann wrote:
>> Hi,
>>
>> i have a webrev[0] that contains some warning cleanup for java.io
>> It is based on rev 7795c41ed54c http://hg.openjdk.java.net/jdk8/tl/jdk/
>>
>> Some comments to the changes:
>>
>> ExpiringCache.java: Changed anonymous inner class to inner class with 
>> the
>> intention to put serialversion inside of it. But serialver doesn't 
>> want to give
>> my the serialver. I also think that ExpiringCache is not serializable 
>> but the
>> warning was clear: the anonymous inner class is seriallizable and has no
>> explicit serialversionuid.
>>
>> FilePermission.java: I have starred at the code between line 453 and 
>> 547 for
>> over an hour, because i thought that there is a bug within the 
>> expression "i >=
>> matchlen" in line 530 and the both "i != -1" in lines 457 and 461. 
>> But there is
>> no bug. But i wanted to left this code slightly more readable. I 
>> introduced the
>> method skipBeforePreviousComma to make it possible to work-around the
>> fallthought warning with an return statement. This code-change need's 
>> some more
>> review attention. Maybe we should split this up for another cleanup. 
>> I think
>> the whole method needs some rewrite.
>>
>> Some classes had no change at all. Maybe webrev created them because 
>> there
>> where changes in my history/branches. There were some patches from 
>> alan i saw
>> to late. Maybe webrev is confused of the multiple merges.
>>
>> Can someone please create a CR for this and
>>
>> [0]
>> http://dl.dropbox.com/u/43692695/oss-patches/openjdk8/Warning_Cleanup_Java_io/webrev0_based_on_7795c41ed54c/index.html 
>>
>>
>>
Thanks for the good feedback.

I splitted my change to the trivial part and will start discussion of 
FilePermission change on core-libs-dev after the cleanup event.
I created a new webrev with the suggested changes here[2]

[2] 
http://dl.dropbox.com/u/43692695/oss-patches/openjdk8/Warning_Cleanup_Java_io/CR7116890_0/index.html

-- Sebastian

From chris.hegarty at oracle.com  Thu Dec  1 08:39:58 2011
From: chris.hegarty at oracle.com (Chris Hegarty)
Date: Thu, 01 Dec 2011 16:39:58 +0000
Subject: Request for Review of 7116890 (Warning Cleanup java.io)
In-Reply-To: <4ED7AB03.6000006@gmx.de>
References: <4ED7039A.2080903@gmx.de> <4ED745ED.6080409@oracle.com>
	<4ED7AB03.6000006@gmx.de>
Message-ID: <4ED7ADDE.8000602@oracle.com>



On 01/12/2011 16:27, Sebastian Sickelmann wrote:
> ....
> Thanks for the good feedback.
>
> I splitted my change to the trivial part and will start discussion of
> FilePermission change on core-libs-dev after the cleanup event.
> I created a new webrev with the suggested changes here[2]
>
> [2]
> http://dl.dropbox.com/u/43692695/oss-patches/openjdk8/Warning_Cleanup_Java_io/CR7116890_0/index.html

Looks fine to me.

-Chris.

>
>
> -- Sebastian

From jonathan.gibbons at oracle.com  Thu Dec  1 08:49:50 2011
From: jonathan.gibbons at oracle.com (Jonathan Gibbons)
Date: Thu, 01 Dec 2011 08:49:50 -0800
Subject: Request for Review of 7116890 (Warning Cleanup java.io)
In-Reply-To: <4ED7AB03.6000006@gmx.de>
References: <4ED7039A.2080903@gmx.de> <4ED745ED.6080409@oracle.com>
	<4ED7AB03.6000006@gmx.de>
Message-ID: <4ED7B02E.8060805@oracle.com>

On 12/01/2011 08:27 AM, Sebastian Sickelmann wrote:
> Am 01.12.2011 10:16, schrieb Stuart Marks:
>> Hi Sebastian,
>>
>> Thanks for submitting this patch! I've filed bug 7116890 to cover 
>> this set of changes.
>>
>> Regarding webrev, it probably does get confused by merges in the 
>> history. By default it tries to show differences between the tip of 
>> the target repository and tip + uncommitted changes in your local 
>> repository. This isn't always the right thing. One thing you might 
>> try is to use the -r option to specify a particular revision in the 
>> history against which to generate the diffs. But, having a few extra 
>> files isn't a big deal.
>>
>> On to your changes.
>>
>> Most of them are really good and are exactly the kind of simple 
>> change we're looking for, as I posted a little while ago. [1]
>>
>> The ExpiringCache.java case is an interesting one. I think it's 
>> possible to add a static serialVersionUID field within the anonymous 
>> class. It's hard to run serialver over an anonymous class (actually 
>> it might be possible to run the checksum algorithm on the loaded 
>> class) but if in practice it's never serialized, who cares what the 
>> "correct" value is? You could just use a value of 0L.
>>
>> An alternative would also be to use @SuppressWarnings("serial"). 
>> Since the constructor is so short, you could just put it on the 
>> constructor.
>>
>> Actually I prefer @SuppressWarnings, since adding serialVersionUID 
>> adds to the system's footprint. If it's never used, we shouldn't 
>> bother defining it.
>>
>> Given these alternatives, it's not necessary to create a static 
>> CacheHashMapImpl class.
>>
>> Regarding the FilePermission.java change, yes, I see that the 
>> skipBeforePreviousComma() change is problematic. I puzzled over it 
>> for a while too. I wish I had sent out the Coding Guideline [1] 
>> earlier; it might have saved you an hour. :-) Sorry about that.
>>
>> A cleanup/rewrite of this code would indeed be better done separate 
>> from Warnings Cleanup Day. But I think there might be a simple way to 
>> get rid of the warning without doing a cleanup or refactoring. The 
>> warning message in question is at line 535 of the original code, 
>> about falling through to the next case. But the next case doesn't 
>> actually do anything but break. Could we just change the 
>> /*FALLTHROUGH*/ comment to a break statement? I think that would fix 
>> the warning without changing the logic at all.
>>
>> s'marks
>>
>> [1] 
>> http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-December/000380.html
>>
>>
>> On 11/30/11 8:33 PM, Sebastian Sickelmann wrote:
>>> Hi,
>>>
>>> i have a webrev[0] that contains some warning cleanup for java.io
>>> It is based on rev 7795c41ed54c http://hg.openjdk.java.net/jdk8/tl/jdk/
>>>
>>> Some comments to the changes:
>>>
>>> ExpiringCache.java: Changed anonymous inner class to inner class 
>>> with the
>>> intention to put serialversion inside of it. But serialver doesn't 
>>> want to give
>>> my the serialver. I also think that ExpiringCache is not 
>>> serializable but the
>>> warning was clear: the anonymous inner class is seriallizable and 
>>> has no
>>> explicit serialversionuid.
>>>
>>> FilePermission.java: I have starred at the code between line 453 and 
>>> 547 for
>>> over an hour, because i thought that there is a bug within the 
>>> expression "i >=
>>> matchlen" in line 530 and the both "i != -1" in lines 457 and 461. 
>>> But there is
>>> no bug. But i wanted to left this code slightly more readable. I 
>>> introduced the
>>> method skipBeforePreviousComma to make it possible to work-around the
>>> fallthought warning with an return statement. This code-change 
>>> need's some more
>>> review attention. Maybe we should split this up for another cleanup. 
>>> I think
>>> the whole method needs some rewrite.
>>>
>>> Some classes had no change at all. Maybe webrev created them because 
>>> there
>>> where changes in my history/branches. There were some patches from 
>>> alan i saw
>>> to late. Maybe webrev is confused of the multiple merges.
>>>
>>> Can someone please create a CR for this and
>>>
>>> [0]
>>> http://dl.dropbox.com/u/43692695/oss-patches/openjdk8/Warning_Cleanup_Java_io/webrev0_based_on_7795c41ed54c/index.html 
>>>
>>>
>>>
> Thanks for the good feedback.
>
> I splitted my change to the trivial part and will start discussion of 
> FilePermission change on core-libs-dev after the cleanup event.
> I created a new webrev with the suggested changes here[2]
>
> [2] 
> http://dl.dropbox.com/u/43692695/oss-patches/openjdk8/Warning_Cleanup_Java_io/CR7116890_0/index.html
>
> -- Sebastian



Sebastian,

I would expect you are still getting warnings, which can easily be 
fixed, from the use of raw types in ExpiringCache.java, lines 67,68.

-- Jon

From xiomara.jayasena at oracle.com  Thu Dec  1 10:31:18 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Thu, 1 Dec 2011 10:31:18 -0800 (PST)
Subject: JDK8 Warnings Cleanup Day (WCD) -- Sign up
In-Reply-To: <71af17d2-86d1-427d-a08a-768ad867e841@default>
References: <868c0635-11fc-4bc7-9ee9-64513092526e@default>
	<b26a573f-c4c6-46f6-92d8-3250af008c4e@default
	71af17d2-86d1-427d-a08a-768ad867e841@default>
Message-ID: <123c245d-cae7-40ba-aed6-2cdd446be15b@default>

Hi,

I have consolidated the responses I have seen on, regarding areas that people have signed up for.

There are a couple of areas such as java.util.concurrent that need to be sort out and those individuals can follow up with the respective people for those areas.

The sing up sheet can be found from the WCD wiki (http://wikis.sun.com/display/OpenJDK/JDK8+Warnings+Cleanup+Day ) or from this direct link here:
http://wikis.sun.com/pages/editpage.action?pageId=250714453


-Xiomara

From xiomara.jayasena at oracle.com  Thu Dec  1 10:57:19 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Thu, 1 Dec 2011 10:57:19 -0800 (PST)
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <4ED7CD0C.8050506@oracle.com>
References: <391b7649-4f85-47c2-805c-03aecc0ce5ac@default
	4ED5AAAB.6070404@gmx.de>	<c2fb78d9-7420-445c-945a-9315c8d9c5cd@default>
	<4ED70A25.2030609@gmx.de 4ED7CD0C.8050506@oracle.com>
Message-ID: <66068043-ac5a-4826-81cd-4fd6ca8f9809@default>


Thanks Jim.

I am including the webrev so that people can see the file changes:
http://cr.openjdk.java.net/~jjh/7117053-FixSomeJDIWarnings/

-Xiomara


> -----Original Message-----
> From: Jim Holmlund
> Sent: Thursday, December 01, 2011 10:53 AM
> To: Xiomara Jayasena
> Cc: jdk8-dev at openjdk.java.net; Serguei Spitsyn
> Subject: Re: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
> 
> 
> Xiomara, I have started fixing warnings in com/sun/tools/jdi.  I will
> continue fixing more of them today, but I no longer know how to run all
> the JDI tests, so after I get the warnings fixed, I will turn over the
> patch to the serviceability team to run the tests and assuming no
> problems appear, commit the changes.
> 
> - jjh
> 

From sebastian.sickelmann at gmx.de  Thu Dec  1 11:20:35 2011
From: sebastian.sickelmann at gmx.de (Sebastian Sickelmann)
Date: Thu, 01 Dec 2011 20:20:35 +0100
Subject: Fwd: Re: Request for Review of 7116890 (Warning Cleanup java.io)
Message-ID: <4ED7D383.7010309@gmx.de>


Am 01.12.2011 18:15, schrieb Alan Bateman:
>  On 01/12/2011 16:27, Sebastian Sickelmann wrote:
>>  :
>>  Thanks for the good feedback.
>>
>>  I splitted my change to the trivial part and will start discussion of
>>  FilePermission change on core-libs-dev after the cleanup event.
>>  I created a new webrev with the suggested changes here[2]
>>
>>  [2]
>>  http://dl.dropbox.com/u/43692695/oss-patches/openjdk8/Warning_Cleanup_Java_io/CR7116890_0/index.html
>>
>>  -- Sebastian
>  In ExpiringCache L67-68 it looks like you are missing the type
>  parameters. Also I assume we can change L119-120 to be for(String key:
>  keySet) { ... } (I realize this is not strictly a warnings change).
>
>  Otherwise I think it's okay.
>
>  -Alan.
>
>
>
Thanks Alan,
L67-68 was a backporting (from a more complex solution to a small
warning cleanup) issue. I missed the type parameters here.
I changed L119-120 also.

New webrev is here:
http://dl.dropbox.com/u/43692695/oss-patches/openjdk8/Warning_Cleanup_Java_io/CR7116890_1/index.html

-- Sebastian


From dl at cs.oswego.edu  Thu Dec  1 12:01:15 2011
From: dl at cs.oswego.edu (Doug Lea)
Date: Thu, 01 Dec 2011 15:01:15 -0500
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <CALwNKeQGkH5TXBJAxSLOGtO3AqW3=jjMw1ZZo0T=DBKC2eGygg@mail.gmail.com>
References: <CALwNKeQGkH5TXBJAxSLOGtO3AqW3=jjMw1ZZo0T=DBKC2eGygg@mail.gmail.com>
Message-ID: <4ED7DD0B.8000604@cs.oswego.edu>

On 11/30/11 04:03, Michael Barker wrote:
> I can't seem to see anybody claim anything other than swing and awt
> packages, so if no one has taken them we'll look at the subpackages of
> java.util:
>
> java.util.concurrent
> java.util.concurrent.atomic

Sorry for the delay in responding. We've actually done some
warning cleanups in our CVS base versions, so we'll work with
Chris and David to get these integrated into current OpenJDK,
although possibly not in time for Cleanup Day.

-Doug


From brandon.passanisi at oracle.com  Thu Dec  1 12:54:39 2011
From: brandon.passanisi at oracle.com (Brandon Passanisi)
Date: Thu, 01 Dec 2011 12:54:39 -0800
Subject: Review Request for 7116993 (warning cleanup java.applet)
Message-ID: <4ED7E98F.3040200@oracle.com>

I have a webrev pertaining to the warning cleanup changes for 
java.applet ready for review.  Here's the info:

    Bug: 7116993
    Webrev:
    http://cr.openjdk.java.net/~dmocek/bpassanisi/7116993/webrev.00/
    <http://cr.openjdk.java.net/%7Edmocek/bpassanisi/7116993/webrev.00/>

Thanks.
-- 
Oracle <http://www.oracle.com>
Brandon Passanisi | Principle Member of Technical Staff

Oracle Java Standards Conformance

Green Oracle <http://www.oracle.com/commitment> Oracle is committed to 
developing practices and products that help protect the environment

From brandon.passanisi at oracle.com  Thu Dec  1 13:14:38 2011
From: brandon.passanisi at oracle.com (Brandon Passanisi)
Date: Thu, 01 Dec 2011 13:14:38 -0800
Subject: Review Request for 7116993 (warning cleanup java.applet)
In-Reply-To: <4ED7E98F.3040200@oracle.com>
References: <4ED7E98F.3040200@oracle.com>
Message-ID: <4ED7EE3E.6020109@oracle.com>

I'll withdraw this review request as I was notified by Xiomara that 
someone else has been working on java.applet.  I had sent an e-mail to 
the alias yesterday about taking on java.applet though.  Luckily, there 
aren't many warnings in java.applet.

On 12/1/2011 12:54 PM, Brandon Passanisi wrote:
> I have a webrev pertaining to the warning cleanup changes for 
> java.applet ready for review.  Here's the info:
>
>    Bug: 7116993
>    Webrev:
>    http://cr.openjdk.java.net/~dmocek/bpassanisi/7116993/webrev.00/
> <http://cr.openjdk.java.net/%7Edmocek/bpassanisi/7116993/webrev.00/>
>
> Thanks.

-- 
Oracle <http://www.oracle.com>
Brandon Passanisi | Principle Member of Technical Staff

Oracle Java Standards Conformance

Green Oracle <http://www.oracle.com/commitment> Oracle is committed to 
developing practices and products that help protect the environment

From ddadacha at redhat.com  Thu Dec  1 13:39:35 2011
From: ddadacha at redhat.com (Danesh Dadachanji)
Date: Thu, 01 Dec 2011 16:39:35 -0500
Subject: Review Request for 7116993 (warning cleanup java.applet)
In-Reply-To: <4ED7EE3E.6020109@oracle.com>
References: <4ED7E98F.3040200@oracle.com> <4ED7EE3E.6020109@oracle.com>
Message-ID: <4ED7F417.4040204@redhat.com>

Hi,

On 01/12/11 04:14 PM, Brandon Passanisi wrote:
> I'll withdraw this review request as I was notified by Xiomara that
> someone else has been working on java.applet. I had sent an e-mail to
> the alias yesterday about taking on java.applet though. Luckily, there
> aren't many warnings in java.applet.

Once again, I apologize for the confusion. I assumed sending a private 
email would be fine with the info being on the wiki.

In any case, the changes I made are identical to yours so that's 
promising! One thing that I noticed is that resize(int, int) calls a 
deprecated Component.size() and Component.resize(int, int). Changing the 
calls of size and super.resize to getSize and super.setSize respectively 
might be better. However, that changes functionality. Comments on this?

As Brandon requested, I'll reuse the bug ID (7116993). My webrev is here:

http://icedtea.classpath.org/~ddadacha/warnings-cleanup-java-applet/

Regards,

Danesh

From kurchi.subhra.hazra at oracle.com  Thu Dec  1 13:44:36 2011
From: kurchi.subhra.hazra at oracle.com (Kurchi Hazra)
Date: Thu, 01 Dec 2011 13:44:36 -0800
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <4ED7DD0B.8000604@cs.oswego.edu>
References: <CALwNKeQGkH5TXBJAxSLOGtO3AqW3=jjMw1ZZo0T=DBKC2eGygg@mail.gmail.com>
	<4ED7DD0B.8000604@cs.oswego.edu>
Message-ID: <4ED7F544.1030104@oracle.com>

I am just moving to some other area for now. sun.management.* seems to 
be having many warnings and no takers. I will work on that.

- Kurchi



On 12/1/2011 12:01 PM, Doug Lea wrote:
> On 11/30/11 04:03, Michael Barker wrote:
>> I can't seem to see anybody claim anything other than swing and awt
>> packages, so if no one has taken them we'll look at the subpackages of
>> java.util:
>>
>> java.util.concurrent
>> java.util.concurrent.atomic
>
> Sorry for the delay in responding. We've actually done some
> warning cleanups in our CVS base versions, so we'll work with
> Chris and David to get these integrated into current OpenJDK,
> although possibly not in time for Cleanup Day.
>
> -Doug
>

-- 
-Kurchi


From john.r.rose at oracle.com  Thu Dec  1 14:34:44 2011
From: john.r.rose at oracle.com (John Rose)
Date: Thu, 1 Dec 2011 14:34:44 -0800
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <4ED58A21.4040005@oracle.com>
References: <391b7649-4f85-47c2-805c-03aecc0ce5ac@default>
	<CABKW8Rhf6au+Og==KviSDkZhM65vUdcn=HNayNEvpbbQHoMXGA@mail.gmail.com>
	<4ED58A21.4040005@oracle.com>
Message-ID: <7BDBA743-080F-47CB-99F7-B2A74A01F35D@oracle.com>

I am cleaning up warnings in java.lang.invoke.  -- John

From xiomara.jayasena at oracle.com  Thu Dec  1 14:39:53 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Thu, 1 Dec 2011 14:39:53 -0800 (PST)
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <7BDBA743-080F-47CB-99F7-B2A74A01F35D@oracle.com>
References: <391b7649-4f85-47c2-805c-03aecc0ce5ac@default>
	<CABKW8Rhf6au+Og==KviSDkZhM65vUdcn=HNayNEvpbbQHoMXGA@mail.gmail.com>
	<4ED58A21.4040005@oracle.com
	7BDBA743-080F-47CB-99F7-B2A74A01F35D@oracle.com>
Message-ID: <b813344d-b500-4f6f-b39f-9d47245497b7@default>


Hi John,

I think Jon van Alten has already said that he will work on that, see wiki:
http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29

-Xiomara


> -----Original Message-----
> From: John Rose
> Sent: Thursday, December 01, 2011 2:35 PM
> To: jdk8-dev at openjdk.java.net
> Subject: Re: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
> 
> I am cleaning up warnings in java.lang.invoke.  -- John

From david.katleman at sun.com  Thu Dec  1 14:48:48 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 01 Dec 2011 22:48:48 +0000
Subject: hg: jdk8/jdk8: Added tag jdk8-b15 for changeset a4f28069d44a
Message-ID: <20111201224848.DF8BB474F0@hg.openjdk.java.net>

Changeset: 4e06ae613e99
Author:    katleman
Date:      2011-12-01 10:33 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/rev/4e06ae613e99

Added tag jdk8-b15 for changeset a4f28069d44a

! .hgtags


From david.katleman at sun.com  Thu Dec  1 14:48:54 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 01 Dec 2011 22:48:54 +0000
Subject: hg: jdk8/jdk8/corba: Added tag jdk8-b15 for changeset 7da69e7175a7
Message-ID: <20111201224855.94D1E474F1@hg.openjdk.java.net>

Changeset: 82dc033975bb
Author:    katleman
Date:      2011-12-01 10:33 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/82dc033975bb

Added tag jdk8-b15 for changeset 7da69e7175a7

! .hgtags


From jon.vanalten at redhat.com  Thu Dec  1 14:49:21 2011
From: jon.vanalten at redhat.com (Jon VanAlten)
Date: Thu, 01 Dec 2011 17:49:21 -0500 (EST)
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <b813344d-b500-4f6f-b39f-9d47245497b7@default>
Message-ID: <e3d78cee-d23f-427d-9974-0c9032d686f5@zmail13.collab.prod.int.phx2.redhat.com>

Hi John and Xiomara,

Unfortunately some urgent things came across my plate today, and then I seemed to hit every possible bit of jdk-building-weirdness.  I'm not going to be getting anything in before today's deadline, it looks like.  If you'd like to take over java.lang.invoke John, I won't mind.  I will still do some part at least and submit something for the other two small groups of errors.  (and maybe follow up with picking at the carrion still remaining tomorrow, to make up for today!).

cheers,
jon

----- Original Message -----
> From: "Xiomara Jayasena" <xiomara.jayasena at oracle.com>
> To: "John Rose" <john.r.rose at oracle.com>, jdk8-dev at openjdk.java.net
> Sent: Thursday, December 1, 2011 5:39:53 PM
> Subject: RE: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
> 
> 
> Hi John,
> 
> I think Jon van Alten has already said that he will work on that, see
> wiki:
> http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29
> 
> -Xiomara
> 
> 
> > -----Original Message-----
> > From: John Rose
> > Sent: Thursday, December 01, 2011 2:35 PM
> > To: jdk8-dev at openjdk.java.net
> > Subject: Re: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
> > 
> > I am cleaning up warnings in java.lang.invoke.  -- John
> 

From david.katleman at sun.com  Thu Dec  1 14:49:22 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 01 Dec 2011 22:49:22 +0000
Subject: hg: jdk8/jdk8/hotspot: Added tag jdk8-b15 for changeset fde2a39ed7f3
Message-ID: <20111201224926.4AE0C474F2@hg.openjdk.java.net>

Changeset: d1f29d4e0bc6
Author:    katleman
Date:      2011-12-01 10:33 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/d1f29d4e0bc6

Added tag jdk8-b15 for changeset fde2a39ed7f3

! .hgtags


From david.katleman at sun.com  Thu Dec  1 14:50:11 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 01 Dec 2011 22:50:11 +0000
Subject: hg: jdk8/jdk8/jaxp: Added tag jdk8-b15 for changeset 804f666d6d44
Message-ID: <20111201225011.4C440474F3@hg.openjdk.java.net>

Changeset: 8181f7634e4a
Author:    katleman
Date:      2011-12-01 10:33 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/8181f7634e4a

Added tag jdk8-b15 for changeset 804f666d6d44

! .hgtags


From david.katleman at sun.com  Thu Dec  1 14:50:17 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 01 Dec 2011 22:50:17 +0000
Subject: hg: jdk8/jdk8/jaxws: Added tag jdk8-b15 for changeset c9ab96ff23d5
Message-ID: <20111201225017.50BCE474F4@hg.openjdk.java.net>

Changeset: 76e37e606354
Author:    katleman
Date:      2011-12-01 10:33 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/76e37e606354

Added tag jdk8-b15 for changeset c9ab96ff23d5

! .hgtags


From david.katleman at sun.com  Thu Dec  1 14:50:29 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 01 Dec 2011 22:50:29 +0000
Subject: hg: jdk8/jdk8/jdk: Added tag jdk8-b15 for changeset 3c248d0e2c48
Message-ID: <20111201225039.13427474F5@hg.openjdk.java.net>

Changeset: 929597c6e777
Author:    katleman
Date:      2011-12-01 10:33 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/929597c6e777

Added tag jdk8-b15 for changeset 3c248d0e2c48

! .hgtags


From david.katleman at sun.com  Thu Dec  1 14:51:33 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 01 Dec 2011 22:51:33 +0000
Subject: hg: jdk8/jdk8/langtools: Added tag jdk8-b15 for changeset 07599bd780ca
Message-ID: <20111201225136.D5E1E474F6@hg.openjdk.java.net>

Changeset: ec2c0973cc31
Author:    katleman
Date:      2011-12-01 10:33 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/ec2c0973cc31

Added tag jdk8-b15 for changeset 07599bd780ca

! .hgtags


From john.r.rose at oracle.com  Thu Dec  1 14:55:34 2011
From: john.r.rose at oracle.com (John Rose)
Date: Thu, 1 Dec 2011 14:55:34 -0800
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <2f23622d-8671-4924-ac10-511215892161@zmail13.collab.prod.int.phx2.redhat.com>
References: <2f23622d-8671-4924-ac10-511215892161@zmail13.collab.prod.int.phx2.redhat.com>
Message-ID: <2A94C4E0-DA3A-44DB-99A2-F36C532E6EB2@oracle.com>

OK, thanks Jon.  Here's the webrev of what I have so far:
  http://cr.openjdk.java.net/~jrose/7117167/webrev.00/

I filed 7117167 to deal with just the JSR 292 code warnings.

Best wishes,
-- John

On Dec 1, 2011, at 2:47 PM, Jon VanAlten wrote:

> Hi John and Xiomara,
> 
> Unfortunately some urgent things came across my plate today, and then I seemed to hit every possible bit of jdk-building-weirdness.  I'm not going to be getting anything in before today's deadline, it looks like.  If you'd like to take over java.lang.invoke John, I won't mind.  I will still do some part at least and submit something for the other two small groups of errors.  (and maybe follow up with picking at the carrion still remaining tomorrow, to make up for today!).
> 
> cheers,
> jon
> 
> ----- Original Message -----
>> From: "Xiomara Jayasena" <xiomara.jayasena at oracle.com>
>> To: "John Rose" <john.r.rose at oracle.com>, jdk8-dev at openjdk.java.net
>> Sent: Thursday, December 1, 2011 5:39:53 PM
>> Subject: RE: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
>> 
>> 
>> Hi John,
>> 
>> I think Jon van Alten has already said that he will work on that, see
>> wiki:
>> http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29
>> 
>> -Xiomara
>> 
>> 
>>> -----Original Message-----
>>> From: John Rose
>>> Sent: Thursday, December 01, 2011 2:35 PM
>>> To: jdk8-dev at openjdk.java.net
>>> Subject: Re: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
>>> 
>>> I am cleaning up warnings in java.lang.invoke.  -- John
>> 


From john.r.rose at oracle.com  Thu Dec  1 15:12:05 2011
From: john.r.rose at oracle.com (John Rose)
Date: Thu, 1 Dec 2011 15:12:05 -0800
Subject: review request (M): 7117167: Misc warnings in java.lang.invoke and
	sun.invoke.*
Message-ID: <454EA54E-6326-4621-A9DC-D03688F1B9AD@oracle.com>

7117167: Misc warnings in java.lang.invoke and sun.invoke.*

http://cr.openjdk.java.net/~jrose/7117167/webrev.00/

Removing build warnings from java.lang.invoke and sun.invoke.*, as part of the December 2011 cleanup effort.

-- John

P.S. The M is an informal convention for "medium complexity"; reviewers typically choose from XS, S, M, L, XL, etc.


From forax at univ-mlv.fr  Thu Dec  1 15:13:10 2011
From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=)
Date: Fri, 02 Dec 2011 00:13:10 +0100
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <2A94C4E0-DA3A-44DB-99A2-F36C532E6EB2@oracle.com>
References: <2f23622d-8671-4924-ac10-511215892161@zmail13.collab.prod.int.phx2.redhat.com>
	<2A94C4E0-DA3A-44DB-99A2-F36C532E6EB2@oracle.com>
Message-ID: <4ED80A06.90903@univ-mlv.fr>

On 12/01/2011 11:55 PM, John Rose wrote:
> OK, thanks Jon.  Here's the webrev of what I have so far:
>    http://cr.openjdk.java.net/~jrose/7117167/webrev.00/
>
> I filed 7117167 to deal with just the JSR 292 code warnings.
>
> Best wishes,
> -- John

Hi John,
I think you should remove the declared type(s) parameter(s) of 
AllocateObject
and FieldAccessor because it's weird to have a parametrized class
which is only used as a raw type.

generics are a compiler artefact, not a runtime one.

cheers,
R?mi

>
> On Dec 1, 2011, at 2:47 PM, Jon VanAlten wrote:
>
>> Hi John and Xiomara,
>>
>> Unfortunately some urgent things came across my plate today, and then I seemed to hit every possible bit of jdk-building-weirdness.  I'm not going to be getting anything in before today's deadline, it looks like.  If you'd like to take over java.lang.invoke John, I won't mind.  I will still do some part at least and submit something for the other two small groups of errors.  (and maybe follow up with picking at the carrion still remaining tomorrow, to make up for today!).
>>
>> cheers,
>> jon
>>
>> ----- Original Message -----
>>> From: "Xiomara Jayasena"<xiomara.jayasena at oracle.com>
>>> To: "John Rose"<john.r.rose at oracle.com>, jdk8-dev at openjdk.java.net
>>> Sent: Thursday, December 1, 2011 5:39:53 PM
>>> Subject: RE: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
>>>
>>>
>>> Hi John,
>>>
>>> I think Jon van Alten has already said that he will work on that, see
>>> wiki:
>>> http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29
>>>
>>> -Xiomara
>>>
>>>
>>>> -----Original Message-----
>>>> From: John Rose
>>>> Sent: Thursday, December 01, 2011 2:35 PM
>>>> To: jdk8-dev at openjdk.java.net
>>>> Subject: Re: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
>>>>
>>>> I am cleaning up warnings in java.lang.invoke.  -- John


From dbhole at redhat.com  Thu Dec  1 15:19:19 2011
From: dbhole at redhat.com (Deepak Bhole)
Date: Thu, 1 Dec 2011 18:19:19 -0500
Subject: Review request for java.text.** warning cleanup
Message-ID: <20111201231919.GQ2461@redhat.com>

Hi All,

Here are all the warning fixes for java.text.**:

http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.00/

I have added suppressions where fixes would cause compatibility
breakage, or where fixes would be too convoluted (e.g the ever so fun
genericized array creation :)).

Cheers,
Deepak


From john.r.rose at oracle.com  Thu Dec  1 15:34:50 2011
From: john.r.rose at oracle.com (John Rose)
Date: Thu, 1 Dec 2011 15:34:50 -0800
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <4ED80A06.90903@univ-mlv.fr>
References: <2f23622d-8671-4924-ac10-511215892161@zmail13.collab.prod.int.phx2.redhat.com>
	<2A94C4E0-DA3A-44DB-99A2-F36C532E6EB2@oracle.com>
	<4ED80A06.90903@univ-mlv.fr>
Message-ID: <C6170FCA-9C01-400E-91F9-4373B0CFE155@oracle.com>

On Dec 1, 2011, at 3:13 PM, R?mi Forax wrote:

> I think you should remove the declared type(s) parameter(s) of AllocateObject
> and FieldAccessor because it's weird to have a parametrized class
> which is only used as a raw type.

The type params are weird, but they do serve a purpose.  I'll think again about taking them off.

-- John

From forax at univ-mlv.fr  Thu Dec  1 15:59:22 2011
From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=)
Date: Fri, 02 Dec 2011 00:59:22 +0100
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <C6170FCA-9C01-400E-91F9-4373B0CFE155@oracle.com>
References: <2f23622d-8671-4924-ac10-511215892161@zmail13.collab.prod.int.phx2.redhat.com>
	<2A94C4E0-DA3A-44DB-99A2-F36C532E6EB2@oracle.com>
	<4ED80A06.90903@univ-mlv.fr>
	<C6170FCA-9C01-400E-91F9-4373B0CFE155@oracle.com>
Message-ID: <4ED814DA.1000501@univ-mlv.fr>

On 12/02/2011 12:34 AM, John Rose wrote:
> On Dec 1, 2011, at 3:13 PM, R?mi Forax wrote:
>
>> I think you should remove the declared type(s) parameter(s) of 
>> AllocateObject
>> and FieldAccessor because it's weird to have a parametrized class
>> which is only used as a raw type.
>
> The type params are weird, but they do serve a purpose.  I'll think 
> again about taking them off.

In my opinion, doc comments are better in this case.

>
> -- John

R?mi


From mikeb01 at gmail.com  Thu Dec  1 15:58:42 2011
From: mikeb01 at gmail.com (Michael Barker)
Date: Thu, 1 Dec 2011 23:58:42 +0000
Subject: Warnings Cleanup in java.util.<various>
Message-ID: <CALwNKeRhUTkBj3EeNmST=Acecnf1F7kifwwNbug5uW1U23Nh7A@mail.gmail.com>

Hi,

Here is the output of our (unfortunately short) hack session.  There
are warnings fixed in 4 files.  A patch is included in each.  Mostly
just generics and deprecation warnings.

Regards,
Michael Barker.
Contributor/UserId: mikeb2701

From mikeb01 at gmail.com  Thu Dec  1 16:06:18 2011
From: mikeb01 at gmail.com (Michael Barker)
Date: Fri, 2 Dec 2011 00:06:18 +0000
Subject: Warnings Cleanup in java.util.<various>
In-Reply-To: <CALwNKeRhUTkBj3EeNmST=Acecnf1F7kifwwNbug5uW1U23Nh7A@mail.gmail.com>
References: <CALwNKeRhUTkBj3EeNmST=Acecnf1F7kifwwNbug5uW1U23Nh7A@mail.gmail.com>
Message-ID: <CALwNKeRYO7m278NfpTtXoSaLQjTJkAxDJG9O98_3QuQKjmMsdw@mail.gmail.com>

Looks like the list software has stripped off the attachments from my
previous mail (my outbox shows them attached).

Here's a second attempt.

On Thu, Dec 1, 2011 at 11:58 PM, Michael Barker <mikeb01 at gmail.com> wrote:
> Hi,
>
> Here is the output of our (unfortunately short) hack session. ?There
> are warnings fixed in 4 files. ?A patch is included in each. ?Mostly
> just generics and deprecation warnings.
>
> Regards,
> Michael Barker.
> Contributor/UserId: mikeb2701

From ddadacha at redhat.com  Thu Dec  1 16:09:18 2011
From: ddadacha at redhat.com (Danesh Dadachanji)
Date: Thu, 01 Dec 2011 19:09:18 -0500
Subject: Areas of work: JDK8 Warnings Cleanup Day (WCD)
In-Reply-To: <868c0635-11fc-4bc7-9ee9-64513092526e@default>
References: <868c0635-11fc-4bc7-9ee9-64513092526e@default>
Message-ID: <4ED8172E.1090804@redhat.com>

Hi,

I'd also like to try my hand at javax/imageio/ImageReader.java and 
javax/imageio/ImageWriter.java

Hopefully I'll have enough time tomorrow to do some more imageio/*.java 
classes but for now, I'll stick to these.

Regards,

Danesh

From mikeb01 at gmail.com  Thu Dec  1 16:11:46 2011
From: mikeb01 at gmail.com (Michael Barker)
Date: Fri, 2 Dec 2011 00:11:46 +0000
Subject: Warnings Cleanup in java.util.<various>
In-Reply-To: <CALwNKeRYO7m278NfpTtXoSaLQjTJkAxDJG9O98_3QuQKjmMsdw@mail.gmail.com>
References: <CALwNKeRhUTkBj3EeNmST=Acecnf1F7kifwwNbug5uW1U23Nh7A@mail.gmail.com>
	<CALwNKeRYO7m278NfpTtXoSaLQjTJkAxDJG9O98_3QuQKjmMsdw@mail.gmail.com>
Message-ID: <CALwNKeSBmnpPLr0hSWdDzCVYo7mjizi207Nj6ayVDKc1QaAdMw@mail.gmail.com>

Trying once more with a .txt extension.  If that fails I'll inline the patch.

Mike.

On Fri, Dec 2, 2011 at 12:06 AM, Michael Barker <mikeb01 at gmail.com> wrote:
> Looks like the list software has stripped off the attachments from my
> previous mail (my outbox shows them attached).
>
> Here's a second attempt.
>
> On Thu, Dec 1, 2011 at 11:58 PM, Michael Barker <mikeb01 at gmail.com> wrote:
>> Hi,
>>
>> Here is the output of our (unfortunately short) hack session. ?There
>> are warnings fixed in 4 files. ?A patch is included in each. ?Mostly
>> just generics and deprecation warnings.
>>
>> Regards,
>> Michael Barker.
>> Contributor/UserId: mikeb2701
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/jar/JarFile.java
--- a/src/share/classes/java/util/jar/JarFile.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/jar/JarFile.java	Thu Dec 01 23:50:32 2011 +0000
@@ -183,7 +183,7 @@
                 } else {
                     man = new Manifest(super.getInputStream(manEntry));
                 }
-                manRef = new SoftReference(man);
+                manRef = new SoftReference<Manifest>(man);
             }
         }
         return man;
@@ -233,7 +233,7 @@
      * Returns an enumeration of the zip file entries.
      */
     public Enumeration<JarEntry> entries() {
-        final Enumeration enum_ = super.entries();
+        final Enumeration<? extends ZipEntry> enum_ = super.entries();
         return new Enumeration<JarEntry>() {
             public boolean hasMoreElements() {
                 return enum_.hasMoreElements();
@@ -608,7 +608,7 @@
         }
 
         // screen out entries which are never signed
-        final Enumeration enum_ = super.entries();
+        final Enumeration<? extends ZipEntry> enum_ = super.entries();
         return new Enumeration<JarEntry>() {
 
             ZipEntry entry;
@@ -649,7 +649,7 @@
          * JAR file has no signed content. Is there a non-signing
          * code source?
          */
-        Enumeration unsigned = unsignedEntryNames();
+        Enumeration<String> unsigned = unsignedEntryNames();
         if (unsigned.hasMoreElements()) {
             return new CodeSource[]{JarVerifier.getUnsignedCS(url)};
         } else {
@@ -658,7 +658,7 @@
     }
 
     private Enumeration<String> unsignedEntryNames() {
-        final Enumeration entries = entries();
+        final Enumeration<JarEntry> entries = entries();
         return new Enumeration<String>() {
 
             String name;
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/logging/LogManager.java
--- a/src/share/classes/java/util/logging/LogManager.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/logging/LogManager.java	Thu Dec 01 23:51:52 2011 +0000
@@ -179,10 +179,10 @@
                         cname = System.getProperty("java.util.logging.manager");
                         if (cname != null) {
                             try {
-                                Class clz = ClassLoader.getSystemClassLoader().loadClass(cname);
+                                Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(cname);
                                 manager = (LogManager) clz.newInstance();
                             } catch (ClassNotFoundException ex) {
-                                Class clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
+                                Class<?> clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
                                 manager = (LogManager) clz.newInstance();
                             }
                         }
@@ -200,8 +200,8 @@
 
                     // Adding the global Logger. Doing so in the Logger.<clinit>
                     // would deadlock with the LogManager.<clinit>.
-                    Logger.global.setLogManager(manager);
-                    manager.addLogger(Logger.global);
+                    Logger.getGlobal().setLogManager(manager);
+                    manager.addLogger(Logger.getGlobal());
 
                     // We don't call readConfiguration() here, as we may be running
                     // very early in the JVM startup sequence.  Instead readConfiguration
@@ -415,7 +415,7 @@
                 for (int i = 0; i < names.length; i++) {
                     String word = names[i];
                     try {
-                        Class   clz = ClassLoader.getSystemClassLoader().loadClass(word);
+                        Class<?>   clz = ClassLoader.getSystemClassLoader().loadClass(word);
                         Handler hdl = (Handler) clz.newInstance();
                         try {
                             // Check if there is a property defining the
@@ -782,11 +782,11 @@
                 // responsibility to initialize the logging configuration, by
                 // calling readConfiguration(InputStream) with a suitable stream.
                 try {
-                    Class clz = ClassLoader.getSystemClassLoader().loadClass(cname);
+                    Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(cname);
                     clz.newInstance();
                     return;
                 } catch (ClassNotFoundException ex) {
-                    Class clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
+                    Class<?> clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
                     clz.newInstance();
                     return;
                 }
@@ -837,9 +837,9 @@
             // the global handlers, if they haven't been initialized yet.
             initializedGlobalHandlers = true;
         }
-        Enumeration enum_ = getLoggerNames();
+        Enumeration<String> enum_ = getLoggerNames();
         while (enum_.hasMoreElements()) {
-            String name = (String)enum_.nextElement();
+            String name = enum_.nextElement();
             resetLogger(name);
         }
     }
@@ -926,7 +926,7 @@
         for (int i = 0; i < names.length; i++) {
             String word = names[i];
             try {
-                Class clz = ClassLoader.getSystemClassLoader().loadClass(word);
+                Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(word);
                 clz.newInstance();
             } catch (Exception ex) {
                 System.err.println("Can't load config class \"" + word + "\"");
@@ -1024,7 +1024,7 @@
         String val = getProperty(name);
         try {
             if (val != null) {
-                Class clz = ClassLoader.getSystemClassLoader().loadClass(val);
+                Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(val);
                 return (Filter) clz.newInstance();
             }
         } catch (Exception ex) {
@@ -1045,7 +1045,7 @@
         String val = getProperty(name);
         try {
             if (val != null) {
-                Class clz = ClassLoader.getSystemClassLoader().loadClass(val);
+                Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(val);
                 return (Formatter) clz.newInstance();
             }
         } catch (Exception ex) {
@@ -1163,9 +1163,9 @@
     // Private method to be called when the configuration has
     // changed to apply any level settings to any pre-existing loggers.
     synchronized private void setLevelsOnExistingLoggers() {
-        Enumeration enum_ = props.propertyNames();
-        while (enum_.hasMoreElements()) {
-            String key = (String)enum_.nextElement();
+        Iterator<String> it_ = props.stringPropertyNames().iterator();
+        while (it_.hasNext()) {
+            String key = it_.next();
             if (!key.endsWith(".level")) {
                 // Not a level definition.
                 continue;
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/prefs/Preferences.java
--- a/src/share/classes/java/util/prefs/Preferences.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/prefs/Preferences.java	Thu Dec 01 23:51:06 2011 +0000
@@ -413,7 +413,7 @@
      * @throws IllegalArgumentException if the package has node preferences
      *         node associated with it.
      */
-    private static String nodeName(Class c) {
+    private static String nodeName(Class<?> c) {
         if (c.isArray())
             throw new IllegalArgumentException(
                 "Arrays have no associated preferences node.");
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/prefs/XmlSupport.java
--- a/src/share/classes/java/util/prefs/XmlSupport.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/prefs/XmlSupport.java	Thu Dec 01 23:51:21 2011 +0000
@@ -106,7 +106,7 @@
         xmlRoot.setAttribute("type", (p.isUserNode() ? "user" : "system"));
 
         // Get bottom-up list of nodes from p to root, excluding root
-        List ancestors = new ArrayList();
+        List<Preferences> ancestors = new ArrayList<>();
 
         for (Preferences kid = p, dad = kid.parent(); dad != null;
                                    kid = dad, dad = kid.parent()) {
@@ -116,7 +116,7 @@
         for (int i=ancestors.size()-1; i >= 0; i--) {
             e.appendChild(doc.createElement("map"));
             e = (Element) e.appendChild(doc.createElement("node"));
-            e.setAttribute("name", ((Preferences)ancestors.get(i)).name());
+            e.setAttribute("name", ancestors.get(i).name());
         }
         putPreferencesInXml(e, doc, p, subTree);
 
@@ -339,17 +339,17 @@
      * @throws IOException if writing to the specified output stream
      *         results in an <tt>IOException</tt>.
      */
-    static void exportMap(OutputStream os, Map map) throws IOException {
+    static void exportMap(OutputStream os, Map<String, String> map) throws IOException {
         Document doc = createPrefsDoc("map");
         Element xmlMap = doc.getDocumentElement( ) ;
         xmlMap.setAttribute("MAP_XML_VERSION", MAP_XML_VERSION);
 
-        for (Iterator i = map.entrySet().iterator(); i.hasNext(); ) {
-            Map.Entry e = (Map.Entry) i.next();
+        for (Iterator<Map.Entry<String, String>> i = map.entrySet().iterator(); i.hasNext(); ) {
+            Map.Entry<String, String> e = i.next();
             Element xe = (Element)
                 xmlMap.appendChild(doc.createElement("entry"));
-            xe.setAttribute("key",   (String) e.getKey());
-            xe.setAttribute("value", (String) e.getValue());
+            xe.setAttribute("key",   e.getKey());
+            xe.setAttribute("value", e.getValue());
         }
 
         writeDoc(doc, os);
@@ -368,7 +368,7 @@
      * @throws InvalidPreferencesFormatException Data on input stream does not
      *         constitute a valid XML document with the mandated document type.
      */
-    static void importMap(InputStream is, Map m)
+    static void importMap(InputStream is, Map<String, String> m)
         throws IOException, InvalidPreferencesFormatException
     {
         try {

From john.r.rose at oracle.com  Thu Dec  1 16:49:11 2011
From: john.r.rose at oracle.com (John Rose)
Date: Thu, 1 Dec 2011 16:49:11 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <20111201231919.GQ2461@redhat.com>
References: <20111201231919.GQ2461@redhat.com>
Message-ID: <1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>

On Dec 1, 2011, at 3:19 PM, Deepak Bhole wrote:

> Hi All,
> 
> Here are all the warning fixes for java.text.**:
> 
> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.00/
> 
> I have added suppressions where fixes would cause compatibility
> breakage, or where fixes would be too convoluted (e.g the ever so fun
> genericized array creation :)).

Thanks for doing all this work!  I have some review comments.

Bottom line:  In some few cases, I think the the @SuppressWarnings annotations can be refined.  Also, I am worried that there are one or two API signature changes or behavior changes.

Details:

On chunks like this:
-        HashSet keys = new HashSet();
+        HashSet<Attribute> keys = new HashSet<Attribute>();
consider using new HashSet<>().

See also occurrences of new Vector<Attribute>, new HashSet<Map.Entry<Attribute, Object>>, SoftReference<BreakIteratorCache>, etc.

(Netbeans can find opportunities for diamond operators, BTW.)

The new parameters <K extends Attribute, V> are clearly more correct, but they look like an API change on a public method or constructor.  If so, I think you'll have to find a different approach.  (But I'm not an API change and generics expert.)

A trivial refactoring to use a private parameterized method might work nicely, but we're not doing refactorings today.

For createRunAttributeDataVectors, ensureRunBreak, etc. consider pushing the @SuppressWarnings down onto the individual declarations.  It is best to put @SuppressWarnings on the smallest program unit possible, and a local variable declaration is often the right spot.  I see that createRunAttributeDataVectors could be viewed as simple enough to mark as a whole, but ensureRunBreak is probably too complex to mark as a whole.

In the same way, consider pushing the annotation into the body of class AttributeEntry, even though that class is very simple.

For generic array creation, I suggest that you get rid of the "rawtypes" warning on the array element type by adding <?>, before suppressing the "unchecked" warning.  Basically, when you find yourself writing new Foo<Bar>[len], change it to new Foo<?>[len].  Then, if you still get an unchecked warning, add SuppressWarnings.

-            Vector newRunAttributes[] = new Vector[newArraySize];
-            Vector newRunAttributeValues[] = new Vector[newArraySize];
+            @SuppressWarnings("unchecked")  // generic array creation
+            Vector<Attribute> newRunAttributes[] = new Vector<?>[newArraySize];
+            @SuppressWarnings("unchecked")  // generic array creation
+            Vector<Object> newRunAttributeValues[] = new Vector<?>[newArraySize];

It is probably a good idea to put a comment on most @SuppressWarnings annotations.

Similarly:

-    private static final SoftReference[] iterCache = new SoftReference[4];
+
+    @SuppressWarnings({"unchecked","rawtypes"})
+    private static final SoftReference<BreakIteratorCache>[] iterCache = new SoftReference[4];
++    @SuppressWarnings("unchecked")
++    private static final SoftReference<BreakIteratorCache>[] iterCache = new SoftReference<?>[4];

There is an apparent behavior change in CollationElementIterator.setOffset, in this chunk:
-                int c = text.setIndex(newOffset);
+                text.setIndexOnly(newOffset);
+                int c = text.current();

(About 50% through.  More to come...)

Best wishes,
-- John


From stuart.marks at oracle.com  Thu Dec  1 17:17:55 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Thu, 01 Dec 2011 17:17:55 -0800
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <4ED5F821.3040906@oracle.com>
References: <391b7649-4f85-47c2-805c-03aecc0ce5ac@default>
	<4ED5F821.3040906@oracle.com>
Message-ID: <4ED82743.6030209@oracle.com>

Hi Max,

It looks like you filed 7116857 to cover this already. Great.

On the ServicePermission.java change, it seems to me like it would be better to 
change the /*FALLTHROUGH*/ comment to a "break" and then remove 
@SuppressWarnings. Is there a reason we can't do this? It looks like the code 
would behave the same and we can get rid of the warning.

(Incidentally, this is the third time I've reviewed code today that looks 
exactly like this. The other cases are in java.io.FilePermission and 
java.util.PropertyPermission. They each have the /*FALLTHROUGH*/ into a set of 
cases that do nothing but break; and they have similar ("ackbarfaccept") 
comments. It would be nice if these chunks of code could be unified, but they 
differ in a number of fiddly details.)

(The string "ackbarfaccept" occurs in the following files:
1. java/io/FilePermission.java
2. java/net/SocketPermission.java
3. java/util/PropertyPermission.java
4. javax/management/MBeanPermission.java
5. javax/security/auth/kerberos/ServicePermission.java
Hmmm.)

Note that ChrisH has already done the BASE64Decoder.java change.

The other changes look fine.

s'marks

On 11/30/11 1:32 AM, Weijun Wang wrote:
> On 11/29/2011 10:10 AM, Xiomara Jayasena wrote:
>> 6. In order to streamlines the process, Stuart Marks will be consolidating
>> patches and running build and test jobs - thanks to Stuart for doing this!
>
> I cd into several security-related directories, call make clobber, and then
> call make. Only one warning in javax/security, others are inside sun/misc. The
> fix is trivial so I won't create a CR or a webrev.
>
> Thanks
> Max
>
>
> diff --git
> a/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
> b/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
> --- a/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
> +++ b/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
> @@ -301,7 +301,7 @@
> * @param action the action string
> * @return the action mask
> */
> -
> + @SuppressWarnings("fallthrough")
> private static int getMask(String action) {
>
> if (action == null) {
> diff --git a/src/share/classes/sun/misc/BASE64Decoder.java
> b/src/share/classes/sun/misc/BASE64Decoder.java
> --- a/src/share/classes/sun/misc/BASE64Decoder.java
> +++ b/src/share/classes/sun/misc/BASE64Decoder.java
> @@ -102,6 +102,7 @@
> /**
> * Decode one BASE64 atom into 1, 2, or 3 bytes of data.
> */
> + @SuppressWarnings({"fallthrough"})
> protected void decodeAtom(PushbackInputStream inStream, OutputStream outStream,
> int rem)
> throws java.io.IOException
> {
> diff --git a/src/share/classes/sun/misc/CEFormatException.java
> b/src/share/classes/sun/misc/CEFormatException.java
> --- a/src/share/classes/sun/misc/CEFormatException.java
> +++ b/src/share/classes/sun/misc/CEFormatException.java
> @@ -28,7 +28,9 @@
> import java.io.IOException;
>
> public class CEFormatException extends IOException {
> - public CEFormatException(String s) {
> - super(s);
> - }
> + static final long serialVersionUID = -7139121221067081482L;
> + public CEFormatException(String s) {
> + super(s);
> + }
> }
> +
> diff --git a/src/share/classes/sun/misc/CEStreamExhausted.java
> b/src/share/classes/sun/misc/CEStreamExhausted.java
> --- a/src/share/classes/sun/misc/CEStreamExhausted.java
> +++ b/src/share/classes/sun/misc/CEStreamExhausted.java
> @@ -27,4 +27,7 @@
> import java.io.IOException;
>
> /** This exception is thrown when EOF is reached */
> -public class CEStreamExhausted extends IOException { };
> +public class CEStreamExhausted extends IOException {
> + static final long serialVersionUID = -5889118049525891904L;
> +}
> +

From john.r.rose at oracle.com  Thu Dec  1 17:17:57 2011
From: john.r.rose at oracle.com (John Rose)
Date: Thu, 1 Dec 2011 17:17:57 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
Message-ID: <6000B656-E38B-478E-A467-508F9A1CC13B@oracle.com>

On Dec 1, 2011, at 4:49 PM, John Rose wrote:

> On Dec 1, 2011, at 3:19 PM, Deepak Bhole wrote:
> 
>> Hi All,
>> 
>> Here are all the warning fixes for java.text.**:
>> 
>> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.00/
>> 
>> I have added suppressions where fixes would cause compatibility
>> breakage, or where fixes would be too convoluted (e.g the ever so fun
>> genericized array creation :)).
> 
> Thanks for doing all this work!  I have some review comments.
> ...
> 
> (About 50% through.  More to come...)

Here's the rest.

I think the method divideUpDictionaryRange is too complex (181 LOC) to be covered by one @SuppressWarnings.  Even adding 30 annotations in the body would be better, since then the other 151 LOC would remain protected.

I do like the informative comment on @SuppressWarnings:
+    @SuppressWarnings("unchecked") // suppress unchecked warning for cloning stack

Extra parens (only needed when there was a cast) can go away:
+            cachedBreakPositions[i + 1] = (currentBreakPositions.elementAt(i)).intValue();
++            cachedBreakPositions[i + 1] = currentBreakPositions.elementAt(i).intValue();

This one has to be on the method level, of course.  Good comment; suggest s/fallthrough/fallthrough in switch/.
+    @SuppressWarnings("fallthrough") // fallthrough is expected, suppress it

Diamond operator, again:
+        ArrayList<AttributedCharacterIterator> iterators = new ArrayList<AttributedCharacterIterator>();
++        ArrayList<AttributedCharacterIterator> iterators = new ArrayList<>();

and:
+    private static final Hashtable<Locale, String[]> cachedLocaleData = new Hashtable<Locale, String[]>(3);
++    private static final Hashtable<Locale, String[]> cachedLocaleData = new Hashtable<>(3);
+        private static final Map<String, Field> instanceMap = new HashMap<String, Field>(11);
++        private static final Map<String, Field> instanceMap = new HashMap<>(11);
+            entryTable = new Vector<EntryPair>(INITIALTABLESIZE);
++            entryTable = new Vector<>(INITIALTABLESIZE);


This one has to be at class level; good comment:
+ at SuppressWarnings("serial") // Adding serial ID will break compatibility. Suppress it. 

There is a peculiar space in the "int []" type name; consider removing it:
+                          Vector<int []> eTbl,
++                          Vector<int[]> eTbl,

+    private Vector<int []> expandTable = null;
++    private Vector<int[]> expandTable = null;
+            expandTable = new Vector<int []>(INITIALTABLESIZE);
++            expandTable = new Vector<int[]>(INITIALTABLESIZE);
+    private Vector<int []>   expandTable = null;
(etc.)

Majority usage in that package omits the space, and you delete the minority cases.

Regarding majority usage see M2 in http://blogs.oracle.com/jrose/entry/on_coding_style .

I'm done commenting.

Thanks for taking this on!

Best,
-- John

P.S.  My recommendations about @SuppressWarnings are off the top of my head.  See Josh Bloch's Effective Java for more and better of that sort of thing.  (Hat tip to Stuart M. and Andrew Hughes.)

From stuart.marks at oracle.com  Thu Dec  1 17:24:04 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Thu, 01 Dec 2011 17:24:04 -0800
Subject: quick Warnings Cleanup Day update
In-Reply-To: <20111202001420.0DAB8474F8@hg.openjdk.java.net>
References: <20111202001420.0DAB8474F8@hg.openjdk.java.net>
Message-ID: <4ED828B4.4070805@oracle.com>

At this point four warnings cleanup changesets have been pushed into the TL 
forest. These reduce the number of warnings from a little over 10,000 to less 
than 9,500. Pretty good!

There are a bunch of changesets that have been posted and are pending review. I 
haven't gotten to those yet. I'm sure they knock off even more warnings.

I've created a little table with the running tally of warnings vs changesets as 
they're integrated into the TL forest. It's on the wiki here [1].

s'marks

[1] http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29

-------- Original Message --------
Subject: hg: jdk8/tl/jdk: 7116890: additional warnings fixes for java.io
Date: Fri, 02 Dec 2011 00:14:10 +0000
From: stuart.marks at oracle.com
To: jdk8-changes at openjdk.java.net, compiler-dev at openjdk.java.net, 
core-libs-dev at openjdk.java.net, serviceability-dev at openjdk.java.net, 
security-dev at openjdk.java.net, net-dev at openjdk.java.net

Changeset: 0e3f706741ca
Author:    smarks
Date:      2011-12-01 16:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e3f706741ca

7116890: additional warnings fixes for java.io
Reviewed-by: alanb, smarks
Contributed-by: Sebastian Sickelmann <sebastian.sickelmann at gmx.de>

! src/share/classes/java/io/ExpiringCache.java
! src/share/classes/java/io/LineNumberInputStream.java
! src/share/classes/java/io/LineNumberReader.java
! src/share/classes/java/io/ObjectOutputStream.java
! src/share/classes/java/io/RandomAccessFile.java


From stuart.marks at oracle.com  Thu Dec  1 17:27:14 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Thu, 01 Dec 2011 17:27:14 -0800
Subject: quick Warnings Cleanup Day update
In-Reply-To: <4ED828B4.4070805@oracle.com>
References: <20111202001420.0DAB8474F8@hg.openjdk.java.net>
	<4ED828B4.4070805@oracle.com>
Message-ID: <4ED82972.5010305@oracle.com>

I forgot to mention... one of the four initial changesets was contributed by 
Sebastian Sickelmann (change notification below) which is the first warnings 
cleanup changeset contributed from outside of Oracle. Congratulations 
Sebastian, and thanks.

s'marks

On 12/1/11 5:24 PM, Stuart Marks wrote:
> At this point four warnings cleanup changesets have been pushed into the TL
> forest. These reduce the number of warnings from a little over 10,000 to less
> than 9,500. Pretty good!
>
> There are a bunch of changesets that have been posted and are pending review. I
> haven't gotten to those yet. I'm sure they knock off even more warnings.
>
> I've created a little table with the running tally of warnings vs changesets as
> they're integrated into the TL forest. It's on the wiki here [1].
>
> s'marks
>
> [1] http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29
>
> -------- Original Message --------
> Subject: hg: jdk8/tl/jdk: 7116890: additional warnings fixes for java.io
> Date: Fri, 02 Dec 2011 00:14:10 +0000
> From: stuart.marks at oracle.com
> To: jdk8-changes at openjdk.java.net, compiler-dev at openjdk.java.net,
> core-libs-dev at openjdk.java.net, serviceability-dev at openjdk.java.net,
> security-dev at openjdk.java.net, net-dev at openjdk.java.net
>
> Changeset: 0e3f706741ca
> Author: smarks
> Date: 2011-12-01 16:14 -0800
> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e3f706741ca
>
> 7116890: additional warnings fixes for java.io
> Reviewed-by: alanb, smarks
> Contributed-by: Sebastian Sickelmann <sebastian.sickelmann at gmx.de>
>
> ! src/share/classes/java/io/ExpiringCache.java
> ! src/share/classes/java/io/LineNumberInputStream.java
> ! src/share/classes/java/io/LineNumberReader.java
> ! src/share/classes/java/io/ObjectOutputStream.java
> ! src/share/classes/java/io/RandomAccessFile.java
>

From weijun.wang at oracle.com  Thu Dec  1 17:41:44 2011
From: weijun.wang at oracle.com (Weijun Wang)
Date: Fri, 02 Dec 2011 09:41:44 +0800
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <4ED82743.6030209@oracle.com>
References: <391b7649-4f85-47c2-805c-03aecc0ce5ac@default>
	<4ED5F821.3040906@oracle.com> <4ED82743.6030209@oracle.com>
Message-ID: <4ED82CD8.5080404@oracle.com>



On 12/02/2011 09:17 AM, Stuart Marks wrote:
> Hi Max,
>
> It looks like you filed 7116857 to cover this already. Great.
>
> On the ServicePermission.java change, it seems to me like it would be
> better to change the /*FALLTHROUGH*/ comment to a "break" and then
> remove @SuppressWarnings. Is there a reason we can't do this? It looks
> like the code would behave the same and we can get rid of the warning.

Yes, you are right. Sorry I haven't read the code carefully.

>
> (Incidentally, this is the third time I've reviewed code today that
> looks exactly like this. The other cases are in java.io.FilePermission
> and java.util.PropertyPermission. They each have the /*FALLTHROUGH*/
> into a set of cases that do nothing but break; and they have similar
> ("ackbarfaccept") comments. It would be nice if these chunks of code
> could be unified, but they differ in a number of fiddly details.)
>
> (The string "ackbarfaccept" occurs in the following files:
> 1. java/io/FilePermission.java
> 2. java/net/SocketPermission.java
> 3. java/util/PropertyPermission.java
> 4. javax/management/MBeanPermission.java
> 5. javax/security/auth/kerberos/ServicePermission.java
> Hmmm.)

This is funny. We might do something later.

>
> Note that ChrisH has already done the BASE64Decoder.java change.

Yes, I saw that. BTW, I've included some other sun.misc files and 
created a webrev at

    http://cr.openjdk.java.net/~weijun/7116857/webrev.00/

Some classes inside sun.misc are not touched, mainly 
SoftCache/Ref/Cache. I tried them but not very successful.

Thanks
Max


>
> The other changes look fine.
>
> s'marks
>
> On 11/30/11 1:32 AM, Weijun Wang wrote:
>> On 11/29/2011 10:10 AM, Xiomara Jayasena wrote:
>>> 6. In order to streamlines the process, Stuart Marks will be
>>> consolidating
>>> patches and running build and test jobs - thanks to Stuart for doing
>>> this!
>>
>> I cd into several security-related directories, call make clobber, and
>> then
>> call make. Only one warning in javax/security, others are inside
>> sun/misc. The
>> fix is trivial so I won't create a CR or a webrev.
>>
>> Thanks
>> Max
>>
>>
>> diff --git
>> a/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
>> b/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
>> ---
>> a/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
>> +++
>> b/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
>> @@ -301,7 +301,7 @@
>> * @param action the action string
>> * @return the action mask
>> */
>> -
>> + @SuppressWarnings("fallthrough")
>> private static int getMask(String action) {
>>
>> if (action == null) {
>> diff --git a/src/share/classes/sun/misc/BASE64Decoder.java
>> b/src/share/classes/sun/misc/BASE64Decoder.java
>> --- a/src/share/classes/sun/misc/BASE64Decoder.java
>> +++ b/src/share/classes/sun/misc/BASE64Decoder.java
>> @@ -102,6 +102,7 @@
>> /**
>> * Decode one BASE64 atom into 1, 2, or 3 bytes of data.
>> */
>> + @SuppressWarnings({"fallthrough"})
>> protected void decodeAtom(PushbackInputStream inStream, OutputStream
>> outStream,
>> int rem)
>> throws java.io.IOException
>> {
>> diff --git a/src/share/classes/sun/misc/CEFormatException.java
>> b/src/share/classes/sun/misc/CEFormatException.java
>> --- a/src/share/classes/sun/misc/CEFormatException.java
>> +++ b/src/share/classes/sun/misc/CEFormatException.java
>> @@ -28,7 +28,9 @@
>> import java.io.IOException;
>>
>> public class CEFormatException extends IOException {
>> - public CEFormatException(String s) {
>> - super(s);
>> - }
>> + static final long serialVersionUID = -7139121221067081482L;
>> + public CEFormatException(String s) {
>> + super(s);
>> + }
>> }
>> +
>> diff --git a/src/share/classes/sun/misc/CEStreamExhausted.java
>> b/src/share/classes/sun/misc/CEStreamExhausted.java
>> --- a/src/share/classes/sun/misc/CEStreamExhausted.java
>> +++ b/src/share/classes/sun/misc/CEStreamExhausted.java
>> @@ -27,4 +27,7 @@
>> import java.io.IOException;
>>
>> /** This exception is thrown when EOF is reached */
>> -public class CEStreamExhausted extends IOException { };
>> +public class CEStreamExhausted extends IOException {
>> + static final long serialVersionUID = -5889118049525891904L;
>> +}
>> +

From david.holmes at oracle.com  Thu Dec  1 17:56:15 2011
From: david.holmes at oracle.com (David Holmes)
Date: Fri, 02 Dec 2011 11:56:15 +1000
Subject: Warnings Cleanup in java.util.<various>
In-Reply-To: <CALwNKeSBmnpPLr0hSWdDzCVYo7mjizi207Nj6ayVDKc1QaAdMw@mail.gmail.com>
References: <CALwNKeRhUTkBj3EeNmST=Acecnf1F7kifwwNbug5uW1U23Nh7A@mail.gmail.com>
	<CALwNKeRYO7m278NfpTtXoSaLQjTJkAxDJG9O98_3QuQKjmMsdw@mail.gmail.com>
	<CALwNKeSBmnpPLr0hSWdDzCVYo7mjizi207Nj6ayVDKc1QaAdMw@mail.gmail.com>
Message-ID: <4ED8303F.30108@oracle.com>

Michael,

The change to java/util/logging/LogManager.java that switches from an 
Enumeration to an Iterator may be out of scope for this cleanup session.

David

On 2/12/2011 10:11 AM, Michael Barker wrote:
> Trying once more with a .txt extension.  If that fails I'll inline the patch.
>
> Mike.
>
> On Fri, Dec 2, 2011 at 12:06 AM, Michael Barker<mikeb01 at gmail.com>  wrote:
>> Looks like the list software has stripped off the attachments from my
>> previous mail (my outbox shows them attached).
>>
>> Here's a second attempt.
>>
>> On Thu, Dec 1, 2011 at 11:58 PM, Michael Barker<mikeb01 at gmail.com>  wrote:
>>> Hi,
>>>
>>> Here is the output of our (unfortunately short) hack session.  There
>>> are warnings fixed in 4 files.  A patch is included in each.  Mostly
>>> just generics and deprecation warnings.
>>>
>>> Regards,
>>> Michael Barker.
>>> Contributor/UserId: mikeb2701

From stuart.marks at oracle.com  Thu Dec  1 18:46:04 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Thu, 01 Dec 2011 18:46:04 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <6000B656-E38B-478E-A467-508F9A1CC13B@oracle.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<6000B656-E38B-478E-A467-508F9A1CC13B@oracle.com>
Message-ID: <4ED83BEC.4090807@oracle.com>

I've filed bug 7117230 to cover this work. I've made John the responsible 
engineer since he's doing the review. John, I hope that's OK.

I have a question about this change to ParseException.java:

+ at SuppressWarnings("serial") // Adding serial ID will break compatibility. 
Suppress it.

Is it really the case that adding the serialVersionUID will break 
compatibility? We've added this to other throwables, e.g. see

http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/624cc18a6cf9

The value declared here is the same as the unmodified version of the class. 
Unless there's something really weird going on with this class that I don't 
see, adding a serialVersionUID should improve compatibility, not break it.

s'marks


On 12/1/11 5:17 PM, John Rose wrote:
> On Dec 1, 2011, at 4:49 PM, John Rose wrote:
>
>> On Dec 1, 2011, at 3:19 PM, Deepak Bhole wrote:
>>
>>> Hi All,
>>>
>>> Here are all the warning fixes for java.text.**:
>>>
>>> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.00/
>>>
>>> I have added suppressions where fixes would cause compatibility
>>> breakage, or where fixes would be too convoluted (e.g the ever so fun
>>> genericized array creation :)).
>>
>> Thanks for doing all this work!  I have some review comments.
>> ...
>>
>> (About 50% through.  More to come...)
>
> Here's the rest.
>
> I think the method divideUpDictionaryRange is too complex (181 LOC) to be covered by one @SuppressWarnings.  Even adding 30 annotations in the body would be better, since then the other 151 LOC would remain protected.
>
> I do like the informative comment on @SuppressWarnings:
> +    @SuppressWarnings("unchecked") // suppress unchecked warning for cloning stack
>
> Extra parens (only needed when there was a cast) can go away:
> +            cachedBreakPositions[i + 1] = (currentBreakPositions.elementAt(i)).intValue();
> ++            cachedBreakPositions[i + 1] = currentBreakPositions.elementAt(i).intValue();
>
> This one has to be on the method level, of course.  Good comment; suggest s/fallthrough/fallthrough in switch/.
> +    @SuppressWarnings("fallthrough") // fallthrough is expected, suppress it
>
> Diamond operator, again:
> +        ArrayList<AttributedCharacterIterator>  iterators = new ArrayList<AttributedCharacterIterator>();
> ++        ArrayList<AttributedCharacterIterator>  iterators = new ArrayList<>();
>
> and:
> +    private static final Hashtable<Locale, String[]>  cachedLocaleData = new Hashtable<Locale, String[]>(3);
> ++    private static final Hashtable<Locale, String[]>  cachedLocaleData = new Hashtable<>(3);
> +        private static final Map<String, Field>  instanceMap = new HashMap<String, Field>(11);
> ++        private static final Map<String, Field>  instanceMap = new HashMap<>(11);
> +            entryTable = new Vector<EntryPair>(INITIALTABLESIZE);
> ++            entryTable = new Vector<>(INITIALTABLESIZE);
>
>
> This one has to be at class level; good comment:
> + at SuppressWarnings("serial") // Adding serial ID will break compatibility. Suppress it.
>
> There is a peculiar space in the "int []" type name; consider removing it:
> +                          Vector<int []>  eTbl,
> ++                          Vector<int[]>  eTbl,
>
> +    private Vector<int []>  expandTable = null;
> ++    private Vector<int[]>  expandTable = null;
> +            expandTable = new Vector<int []>(INITIALTABLESIZE);
> ++            expandTable = new Vector<int[]>(INITIALTABLESIZE);
> +    private Vector<int []>    expandTable = null;
> (etc.)
>
> Majority usage in that package omits the space, and you delete the minority cases.
>
> Regarding majority usage see M2 in http://blogs.oracle.com/jrose/entry/on_coding_style .
>
> I'm done commenting.
>
> Thanks for taking this on!
>
> Best,
> -- John
>
> P.S.  My recommendations about @SuppressWarnings are off the top of my head.  See Josh Bloch's Effective Java for more and better of that sort of thing.  (Hat tip to Stuart M. and Andrew Hughes.)

From stuart.marks at oracle.com  Thu Dec  1 19:40:11 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Thu, 01 Dec 2011 19:40:11 -0800
Subject: Warnings Cleanup in java.util.<various>
In-Reply-To: <CALwNKeSBmnpPLr0hSWdDzCVYo7mjizi207Nj6ayVDKc1QaAdMw@mail.gmail.com>
References: <CALwNKeRhUTkBj3EeNmST=Acecnf1F7kifwwNbug5uW1U23Nh7A@mail.gmail.com>
	<CALwNKeRYO7m278NfpTtXoSaLQjTJkAxDJG9O98_3QuQKjmMsdw@mail.gmail.com>
	<CALwNKeSBmnpPLr0hSWdDzCVYo7mjizi207Nj6ayVDKc1QaAdMw@mail.gmail.com>
Message-ID: <4ED8489B.8090800@oracle.com>

Hi Mike,

Thanks for pulling together the London JUG on short notice to bring up folks on 
building OpenJDK to the point of being able to generate patches! That's a great 
accomplishment.

Sorry for the trouble with the attachments. As you notice, most everything 
except text attachments is stripped (though I believe some of the OpenJDK lists 
will pass zip attachments).

I've filed bug 7117249 to track these changes. David Holmes mentioned that he 
thought the change in LogManager from Enumeration to Iterator might be out of 
scope for warnings cleanup. He might be right. I saw some questions from 
Martijn about other aspects of this code as well. I'll bring in somebody who's 
more familiar with the logging area to look this over, and then we'll figure 
out what to do.

Thanks again.

s'marks

On 12/1/11 4:11 PM, Michael Barker wrote:
> Trying once more with a .txt extension.  If that fails I'll inline the patch.
>
> Mike.
>
> On Fri, Dec 2, 2011 at 12:06 AM, Michael Barker<mikeb01 at gmail.com>  wrote:
>> Looks like the list software has stripped off the attachments from my
>> previous mail (my outbox shows them attached).
>>
>> Here's a second attempt.
>>
>> On Thu, Dec 1, 2011 at 11:58 PM, Michael Barker<mikeb01 at gmail.com>  wrote:
>>> Hi,
>>>
>>> Here is the output of our (unfortunately short) hack session.  There
>>> are warnings fixed in 4 files.  A patch is included in each.  Mostly
>>> just generics and deprecation warnings.
>>>
>>> Regards,
>>> Michael Barker.
>>> Contributor/UserId: mikeb2701

From stuart.marks at oracle.com  Thu Dec  1 20:05:44 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Thu, 01 Dec 2011 20:05:44 -0800
Subject: quick Warnings Cleanup Day update
In-Reply-To: <4ED82972.5010305@oracle.com>
References: <20111202001420.0DAB8474F8@hg.openjdk.java.net>
	<4ED828B4.4070805@oracle.com> <4ED82972.5010305@oracle.com>
Message-ID: <4ED84E98.1070905@oracle.com>

OK all,

It's the end of my day here in California. Here's a quick recap.

In addition to the four changesets that have been integrated, I see that ten 
patches have been submitted and are in varying stages of review. Please check 
out the wiki status page [1] to make sure that there's a row in the table with 
a bugid, the code area, your name, and a link to a webrev or patch. If you're 
working on something that's not listed here, please let us know (or update the 
page if you have access).

I and others will be continuing to review these patches and get them integrated 
over the new few days.

Thanks to all who have put effort into this.

s'marks


[1] http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29

On 12/1/11 5:27 PM, Stuart Marks wrote:
> I forgot to mention... one of the four initial changesets was contributed by
> Sebastian Sickelmann (change notification below) which is the first warnings
> cleanup changeset contributed from outside of Oracle. Congratulations
> Sebastian, and thanks.
>
> s'marks
>
> On 12/1/11 5:24 PM, Stuart Marks wrote:
>> At this point four warnings cleanup changesets have been pushed into the TL
>> forest. These reduce the number of warnings from a little over 10,000 to less
>> than 9,500. Pretty good!
>>
>> There are a bunch of changesets that have been posted and are pending review. I
>> haven't gotten to those yet. I'm sure they knock off even more warnings.
>>
>> I've created a little table with the running tally of warnings vs changesets as
>> they're integrated into the TL forest. It's on the wiki here [1].
>>
>> s'marks
>>
>> [1]
>> http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29
>>
>> -------- Original Message --------
>> Subject: hg: jdk8/tl/jdk: 7116890: additional warnings fixes for java.io
>> Date: Fri, 02 Dec 2011 00:14:10 +0000
>> From: stuart.marks at oracle.com
>> To: jdk8-changes at openjdk.java.net, compiler-dev at openjdk.java.net,
>> core-libs-dev at openjdk.java.net, serviceability-dev at openjdk.java.net,
>> security-dev at openjdk.java.net, net-dev at openjdk.java.net
>>
>> Changeset: 0e3f706741ca
>> Author: smarks
>> Date: 2011-12-01 16:14 -0800
>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e3f706741ca
>>
>> 7116890: additional warnings fixes for java.io
>> Reviewed-by: alanb, smarks
>> Contributed-by: Sebastian Sickelmann <sebastian.sickelmann at gmx.de>
>>
>> ! src/share/classes/java/io/ExpiringCache.java
>> ! src/share/classes/java/io/LineNumberInputStream.java
>> ! src/share/classes/java/io/LineNumberReader.java
>> ! src/share/classes/java/io/ObjectOutputStream.java
>> ! src/share/classes/java/io/RandomAccessFile.java
>>

From xiomara.jayasena at oracle.com  Thu Dec  1 20:51:52 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Thu, 1 Dec 2011 20:51:52 -0800 (PST)
Subject: JDK8 Warnings Cleanup Day (WCD)
Message-ID: <53ab03dd-e51e-4a74-816d-b3b54954fbe4@default>

A huge thanks to all of you who participated!!

This was indeed a fun undertaking. I am sending this e-mail to delineate the working time frames of the JDK8 Warnings Cleanup Day.  Of course, I know that work still continues in many areas, so please continue those efforts.

I believe we have most names in the wiki for the project [1] but if you are working on fixing warnings in the next couple of days then please send me your name (no need to send message to the entire alias :-) )

Thanks again!

-Xiomara

[1] http://wikis.sun.com/display/OpenJDK/JDK8+Warnings+Cleanup+Day



From john.r.rose at oracle.com  Thu Dec  1 22:30:07 2011
From: john.r.rose at oracle.com (John Rose)
Date: Thu, 1 Dec 2011 22:30:07 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <4ED83BEC.4090807@oracle.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<6000B656-E38B-478E-A467-508F9A1CC13B@oracle.com>
	<4ED83BEC.4090807@oracle.com>
Message-ID: <61736A1A-AD8A-489E-AF3C-C74C4B82799E@oracle.com>

On Dec 1, 2011, at 6:46 PM, Stuart Marks wrote:

> I have a question about this change to ParseException.java:
> 
> + at SuppressWarnings("serial") // Adding serial ID will break compatibility. Suppress it.
> 
> Is it really the case that adding the serialVersionUID will break compatibility? We've added this to other throwables, e.g. see
> 
> http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/624cc18a6cf9
> 
> The value declared here is the same as the unmodified version of the class. Unless there's something really weird going on with this class that I don't see, adding a serialVersionUID should improve compatibility, not break it.

Oops, good catch, Stuart.  This @SuppressWarnings does not look safe.   -- John

From mikeb01 at gmail.com  Thu Dec  1 22:37:24 2011
From: mikeb01 at gmail.com (Michael Barker)
Date: Fri, 2 Dec 2011 06:37:24 +0000
Subject: Warnings Cleanup in java.util.<various>
In-Reply-To: <4ED8489B.8090800@oracle.com>
References: <CALwNKeRhUTkBj3EeNmST=Acecnf1F7kifwwNbug5uW1U23Nh7A@mail.gmail.com>
	<CALwNKeRYO7m278NfpTtXoSaLQjTJkAxDJG9O98_3QuQKjmMsdw@mail.gmail.com>
	<CALwNKeSBmnpPLr0hSWdDzCVYo7mjizi207Nj6ayVDKc1QaAdMw@mail.gmail.com>
	<4ED8489B.8090800@oracle.com>
Message-ID: <CALwNKeSkB_QGe==p8nZXoZ+L4mm=0rLcytNV-ChWpsvkwOF6Rw@mail.gmail.com>

Hi Stuart,

Thanks, we were happy with the results we got.  About 6 or so of the
people there got the JDK build up and running and a few writing code
in about 2 hours.  We are going to do some more of these evenings and
build a little momentum in the community.

I have attached a second patch with just a the wildcard to the
Enumeration instead of using an Iterator.  We did have a discussion
over that one.  Both options are available, I'll let whoever it doing
the merge decide.

Mike.

On Fri, Dec 2, 2011 at 3:40 AM, Stuart Marks <stuart.marks at oracle.com> wrote:
> Hi Mike,
>
> Thanks for pulling together the London JUG on short notice to bring up folks
> on building OpenJDK to the point of being able to generate patches! That's a
> great accomplishment.
>
> Sorry for the trouble with the attachments. As you notice, most everything
> except text attachments is stripped (though I believe some of the OpenJDK
> lists will pass zip attachments).
>
> I've filed bug 7117249 to track these changes. David Holmes mentioned that
> he thought the change in LogManager from Enumeration to Iterator might be
> out of scope for warnings cleanup. He might be right. I saw some questions
> from Martijn about other aspects of this code as well. I'll bring in
> somebody who's more familiar with the logging area to look this over, and
> then we'll figure out what to do.
>
> Thanks again.
>
> s'marks
>
>
> On 12/1/11 4:11 PM, Michael Barker wrote:
>>
>> Trying once more with a .txt extension. ?If that fails I'll inline the
>> patch.
>>
>> Mike.
>>
>> On Fri, Dec 2, 2011 at 12:06 AM, Michael Barker<mikeb01 at gmail.com> ?wrote:
>>>
>>> Looks like the list software has stripped off the attachments from my
>>> previous mail (my outbox shows them attached).
>>>
>>> Here's a second attempt.
>>>
>>> On Thu, Dec 1, 2011 at 11:58 PM, Michael Barker<mikeb01 at gmail.com>
>>> ?wrote:
>>>>
>>>> Hi,
>>>>
>>>> Here is the output of our (unfortunately short) hack session. ?There
>>>> are warnings fixed in 4 files. ?A patch is included in each. ?Mostly
>>>> just generics and deprecation warnings.
>>>>
>>>> Regards,
>>>> Michael Barker.
>>>> Contributor/UserId: mikeb2701
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/logging/LogManager.java
--- a/src/share/classes/java/util/logging/LogManager.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/logging/LogManager.java	Fri Dec 02 06:31:37 2011 +0000
@@ -179,10 +179,10 @@
                         cname = System.getProperty("java.util.logging.manager");
                         if (cname != null) {
                             try {
-                                Class clz = ClassLoader.getSystemClassLoader().loadClass(cname);
+                                Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(cname);
                                 manager = (LogManager) clz.newInstance();
                             } catch (ClassNotFoundException ex) {
-                                Class clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
+                                Class<?> clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
                                 manager = (LogManager) clz.newInstance();
                             }
                         }
@@ -200,8 +200,8 @@
 
                     // Adding the global Logger. Doing so in the Logger.<clinit>
                     // would deadlock with the LogManager.<clinit>.
-                    Logger.global.setLogManager(manager);
-                    manager.addLogger(Logger.global);
+                    Logger.getGlobal().setLogManager(manager);
+                    manager.addLogger(Logger.getGlobal());
 
                     // We don't call readConfiguration() here, as we may be running
                     // very early in the JVM startup sequence.  Instead readConfiguration
@@ -415,7 +415,7 @@
                 for (int i = 0; i < names.length; i++) {
                     String word = names[i];
                     try {
-                        Class   clz = ClassLoader.getSystemClassLoader().loadClass(word);
+                        Class<?>   clz = ClassLoader.getSystemClassLoader().loadClass(word);
                         Handler hdl = (Handler) clz.newInstance();
                         try {
                             // Check if there is a property defining the
@@ -782,11 +782,11 @@
                 // responsibility to initialize the logging configuration, by
                 // calling readConfiguration(InputStream) with a suitable stream.
                 try {
-                    Class clz = ClassLoader.getSystemClassLoader().loadClass(cname);
+                    Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(cname);
                     clz.newInstance();
                     return;
                 } catch (ClassNotFoundException ex) {
-                    Class clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
+                    Class<?> clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
                     clz.newInstance();
                     return;
                 }
@@ -837,9 +837,9 @@
             // the global handlers, if they haven't been initialized yet.
             initializedGlobalHandlers = true;
         }
-        Enumeration enum_ = getLoggerNames();
+        Enumeration<String> enum_ = getLoggerNames();
         while (enum_.hasMoreElements()) {
-            String name = (String)enum_.nextElement();
+            String name = enum_.nextElement();
             resetLogger(name);
         }
     }
@@ -926,7 +926,7 @@
         for (int i = 0; i < names.length; i++) {
             String word = names[i];
             try {
-                Class clz = ClassLoader.getSystemClassLoader().loadClass(word);
+                Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(word);
                 clz.newInstance();
             } catch (Exception ex) {
                 System.err.println("Can't load config class \"" + word + "\"");
@@ -1024,7 +1024,7 @@
         String val = getProperty(name);
         try {
             if (val != null) {
-                Class clz = ClassLoader.getSystemClassLoader().loadClass(val);
+                Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(val);
                 return (Filter) clz.newInstance();
             }
         } catch (Exception ex) {
@@ -1045,7 +1045,7 @@
         String val = getProperty(name);
         try {
             if (val != null) {
-                Class clz = ClassLoader.getSystemClassLoader().loadClass(val);
+                Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(val);
                 return (Formatter) clz.newInstance();
             }
         } catch (Exception ex) {
@@ -1163,7 +1163,7 @@
     // Private method to be called when the configuration has
     // changed to apply any level settings to any pre-existing loggers.
     synchronized private void setLevelsOnExistingLoggers() {
-        Enumeration enum_ = props.propertyNames();
+        Enumeration<?> enum_ = props.propertyNames();
         while (enum_.hasMoreElements()) {
             String key = (String)enum_.nextElement();
             if (!key.endsWith(".level")) {

From stuart.marks at oracle.com  Fri Dec  2 00:06:54 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Fri, 02 Dec 2011 00:06:54 -0800
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <4ED82CD8.5080404@oracle.com>
References: <391b7649-4f85-47c2-805c-03aecc0ce5ac@default>
	<4ED5F821.3040906@oracle.com> <4ED82743.6030209@oracle.com>
	<4ED82CD8.5080404@oracle.com>
Message-ID: <4ED8871E.1010309@oracle.com>

On 12/1/11 5:41 PM, Weijun Wang wrote:
>> (Incidentally, this is the third time I've reviewed code today that
>> looks exactly like this. The other cases are in java.io.FilePermission
>> and java.util.PropertyPermission. They each have the /*FALLTHROUGH*/
>> into a set of cases that do nothing but break; and they have similar
>> ("ackbarfaccept") comments. It would be nice if these chunks of code
>> could be unified, but they differ in a number of fiddly details.)
>>
>> (The string "ackbarfaccept" occurs in the following files:
>> 1. java/io/FilePermission.java
>> 2. java/net/SocketPermission.java
>> 3. java/util/PropertyPermission.java
>> 4. javax/management/MBeanPermission.java
>> 5. javax/security/auth/kerberos/ServicePermission.java
>> Hmmm.)
>
> This is funny. We might do something later.

Yeah, this is a good thing to look at later. Looks like somebody long ago did 
some cut-and-paste programming. Brandon and Sebastian were working on 
FilePermission and PropertyPermission and might be considering how to 
merge/unify or at least coordinate the code. Now it seems that there are a few 
more instances to look at.

> BTW, I've included some other sun.misc files and created a
> webrev at
>
> http://cr.openjdk.java.net/~weijun/7116857/webrev.00/

Wow, lots more code. Comments below.

> Some classes inside sun.misc are not touched, mainly SoftCache/Ref/Cache. I
> tried them but not very successful.

Sure, no problem doing just a subset of sun.misc.

Comments on webrev:

ClassLoaderUtil.java --

The generic types for loaders, urls, and lmap are kind of strange. (This code 
is kind of strange to begin with.) The urls variable is declared as Stack<URL> 
and you had to import java.net.URL for this; but the URL type isn't actually 
used anywhere. The lmap var is HashMap<String,?> but probably only because 
String is already implicitly imported, and it didn't make sense to import 
Loader (the type of the map's values). I guess since the values in any of these 
containers aren't actually used, maybe it makes sense to make them ALL wildcard 
types, i.e.

     ArrayList<?> loaders = ucp.loaders;
     Stack<?> urls = ucp.urls;
     HashMap<?,?> lmap = ucp.lmap;

Makes a bit more sense, in a curious way. (Assuming it works, of course.) Up to 
you whether you want to make it this way.

LRUCache.java --

You can reduce the scope of @SuppressWarnings by doing something like this:

     @SuppressWarnings("unchecked")
     V[] temp = (V[])new Object[size];
     oa = temp;

Queue.java --

Wow, another queue implementation. The generic conversion looks right. I'm just 
marveling at all the weird stuff off in the corner of sun.misc. Nothing to 
change here.

RequestProcessor.java --

Now that the Queue instance contained here has been generified, the code here 
can be assured that its contents are all subtypes of Request. There's logic in 
here that checks items for instanceof Request, ignores that aren't, and casts 
the remainder into Request. Just an observation that all this stuff is 
unnecessary. However, it's probably not worth changing this dusty old code at 
this point, if ever (and certainly not part of warnings fixes).

URLClassPath.java --

Now that jarFilesList is LinkedList<String> instead of a raw LinkedList, it 
shouldn't be necessary to do any casts when fetching the contents. However, the 
existing code copies the contents to an Object[] and then downcasts the 
individual array elements to String. Ugh. This can be avoided by changing line 
851ff to

     int size = jarFilesList.size();
     String[] jarFiles = jarFilesList.toArray(new String[size]);

**

If you have time today I'd appreciate it if you could build/test and push this 
change yourself. I'm backlogged reviewing and integrating changes from external 
folks.

thanks!

s'marks

From artem.ananiev at oracle.com  Fri Dec  2 01:26:12 2011
From: artem.ananiev at oracle.com (Artem Ananiev)
Date: Fri, 02 Dec 2011 13:26:12 +0400
Subject: Review Request for 7116993 (warning cleanup java.applet)
In-Reply-To: <4ED7EE3E.6020109@oracle.com>
References: <4ED7E98F.3040200@oracle.com> <4ED7EE3E.6020109@oracle.com>
Message-ID: <4ED899B4.7000207@oracle.com>


I haven't seen anyone else working on java.applet. Your webrev looks fine.

Thanks,

Artem

On 12/2/2011 1:14 AM, Brandon Passanisi wrote:
> I'll withdraw this review request as I was notified by Xiomara that
> someone else has been working on java.applet. I had sent an e-mail to
> the alias yesterday about taking on java.applet though. Luckily, there
> aren't many warnings in java.applet.
>
> On 12/1/2011 12:54 PM, Brandon Passanisi wrote:
>> I have a webrev pertaining to the warning cleanup changes for
>> java.applet ready for review. Here's the info:
>>
>> Bug: 7116993
>> Webrev:
>> http://cr.openjdk.java.net/~dmocek/bpassanisi/7116993/webrev.00/
>> <http://cr.openjdk.java.net/%7Edmocek/bpassanisi/7116993/webrev.00/>
>>
>> Thanks.
>

From weijun.wang at oracle.com  Fri Dec  2 02:18:42 2011
From: weijun.wang at oracle.com (Weijun Wang)
Date: Fri, 02 Dec 2011 18:18:42 +0800
Subject: JDK 8 Warnings Cleanup Day -- Dec. 1st, 2011
In-Reply-To: <4ED8871E.1010309@oracle.com>
References: <391b7649-4f85-47c2-805c-03aecc0ce5ac@default>
	<4ED5F821.3040906@oracle.com> <4ED82743.6030209@oracle.com>
	<4ED82CD8.5080404@oracle.com> <4ED8871E.1010309@oracle.com>
Message-ID: <4ED8A602.4040101@oracle.com>

>
> **

All suggestions accepted. Webrev updated. JPRT build and default testset 
pass on all default platforms.

I'll push it tomorrow morning (your Friday afternoon) if no one has an 
objection.

Thanks
Max

>
> If you have time today I'd appreciate it if you could build/test and
> push this change yourself. I'm backlogged reviewing and integrating
> changes from external folks.
>
> thanks!
>
> s'marks

From schlosna at gmail.com  Fri Dec  2 03:06:00 2011
From: schlosna at gmail.com (David Schlosnagle)
Date: Fri, 2 Dec 2011 06:06:00 -0500
Subject: Request for Review: Warnings cleanup in java.lang.*, java.util.**
Message-ID: <CAGVnyzRNvKDpSN-TuKRDg+ckKEZcQj-EfLUnt1Ayfse0PeDk6g@mail.gmail.com>

I didn't have a chance to sign-up or submit during the official
warnings cleanup day, but I'm hoping that you'll still accept patches.
I do not have a bug number for this change.

The webrev [1] below should resolve 208 warnings in the java.lang.*
and java.util.** packages. I tried to stick to fixing warnings, but
OCD kicked in while editing in NetBeans, so there are a few additional
IDE warnings fixed as well for the modified files. For example,?adding
@Override on the relevant methods, removals of dead stores, conversion
to Strings in switch, StringBuffer -> StringBuilder where localized (I
realize lock elision in HotSpot and JRockit should make them
practically equivalent, but NetBeans still complains and I assume
there is still some unnecessary synchronization overhead).
ConditionalSpecialCasing.java also has some slight refactoring to
utilize the updated parameterized types.

Additionally, there was one change to
java.util.regex.Pattern#subFlag() that I'd like someone to review more
carefully as it was previously falling through the last case, but I
believe the last case should have had a break; to properly handle
other flags.

*** 3006,3015 ****
--- 3014,3024 ----
              case 'x':
                  flags &= ~COMMENTS;
                  break;
              case 'U':
                  flags &= ~(UNICODE_CHARACTER_CLASS | UNICODE_CASE);
+                 break;
              default:
                  return;
              }

If you want any of the additional cleanup removed from the patch or
other changes, please let me know.

[1]:?http://dl.dropbox.com/u/23832908/openjdk/2011-12-01/index.html

Files modified:
? ? java/lang/Boolean.java
? ? java/lang/Byte.java
? ? java/lang/Character.java
? ? java/lang/Class.java
? ? java/lang/ConditionalSpecialCasing.java
? ? java/lang/Double.java
? ? java/lang/Float.java
? ? java/lang/Integer.java
? ? java/lang/Long.java
? ? java/lang/Short.java
? ? java/lang/System.java
? ? java/lang/ThreadLocal.java
? ? java/lang/Void.java
? ? java/util/IllegalFormatConversionException.java
? ? java/util/Locale.java
? ? java/util/regex/Matcher.java
? ? java/util/regex/Pattern.java
? ? java/util/regex/PatternSyntaxException.java
? ? java/util/regex/UnicodeProp.java

Thanks,
Dave

From Alan.Bateman at oracle.com  Fri Dec  2 04:18:41 2011
From: Alan.Bateman at oracle.com (Alan Bateman)
Date: Fri, 02 Dec 2011 12:18:41 +0000
Subject: Request for Review: Warnings cleanup in java.lang.*, java.util.**
In-Reply-To: <CAGVnyzRNvKDpSN-TuKRDg+ckKEZcQj-EfLUnt1Ayfse0PeDk6g@mail.gmail.com>
References: <CAGVnyzRNvKDpSN-TuKRDg+ckKEZcQj-EfLUnt1Ayfse0PeDk6g@mail.gmail.com>
Message-ID: <4ED8C221.7070603@oracle.com>


cc'ing core-libs-dev as that is the place to discuss these changes. I 
see on the sign-up sheet [1] that omajid has signed up for java.lang, 
maybe you are working together? I'll leave it to Stuart to say whether 
he wants to refactor/other changes separated from the warnings changes.

One thing I'm curious about is 
@SuppressWarnings("BooleanConstructorCall") as it suggests that some 
other compiler, or maybe an extension in the NetBeans javac?

-Alan

[1] 
http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29


On 02/12/2011 11:06, David Schlosnagle wrote:
> I didn't have a chance to sign-up or submit during the official
> warnings cleanup day, but I'm hoping that you'll still accept patches.
> I do not have a bug number for this change.
>
> The webrev [1] below should resolve 208 warnings in the java.lang.*
> and java.util.** packages. I tried to stick to fixing warnings, but
> OCD kicked in while editing in NetBeans, so there are a few additional
> IDE warnings fixed as well for the modified files. For example, adding
> @Override on the relevant methods, removals of dead stores, conversion
> to Strings in switch, StringBuffer ->  StringBuilder where localized (I
> realize lock elision in HotSpot and JRockit should make them
> practically equivalent, but NetBeans still complains and I assume
> there is still some unnecessary synchronization overhead).
> ConditionalSpecialCasing.java also has some slight refactoring to
> utilize the updated parameterized types.
>
> Additionally, there was one change to
> java.util.regex.Pattern#subFlag() that I'd like someone to review more
> carefully as it was previously falling through the last case, but I
> believe the last case should have had a break; to properly handle
> other flags.
>
> *** 3006,3015 ****
> --- 3014,3024 ----
>                case 'x':
>                    flags&= ~COMMENTS;
>                    break;
>                case 'U':
>                    flags&= ~(UNICODE_CHARACTER_CLASS | UNICODE_CASE);
> +                 break;
>                default:
>                    return;
>                }
>
> If you want any of the additional cleanup removed from the patch or
> other changes, please let me know.
>
> [1]: http://dl.dropbox.com/u/23832908/openjdk/2011-12-01/index.html
>
> Files modified:
>      java/lang/Boolean.java
>      java/lang/Byte.java
>      java/lang/Character.java
>      java/lang/Class.java
>      java/lang/ConditionalSpecialCasing.java
>      java/lang/Double.java
>      java/lang/Float.java
>      java/lang/Integer.java
>      java/lang/Long.java
>      java/lang/Short.java
>      java/lang/System.java
>      java/lang/ThreadLocal.java
>      java/lang/Void.java
>      java/util/IllegalFormatConversionException.java
>      java/util/Locale.java
>      java/util/regex/Matcher.java
>      java/util/regex/Pattern.java
>      java/util/regex/PatternSyntaxException.java
>      java/util/regex/UnicodeProp.java
>
> Thanks,
> Dave


From martijnverburg at gmail.com  Fri Dec  2 04:22:10 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Fri, 2 Dec 2011 12:22:10 +0000
Subject: Request for Review: Warnings cleanup in java.lang.*, java.util.**
In-Reply-To: <4ED8C221.7070603@oracle.com>
References: <CAGVnyzRNvKDpSN-TuKRDg+ckKEZcQj-EfLUnt1Ayfse0PeDk6g@mail.gmail.com>
	<4ED8C221.7070603@oracle.com>
Message-ID: <CAP7YuARfkDAzNgOLyUjoqKmGBacMr1W9VJVtHkyQhFWNQmS8Hg@mail.gmail.com>

FYI - The London JUG did have java.util.regex listed, but we didn't
have time to produce a patch for that area, so no clash there -
Cheers, M

On 2 December 2011 12:18, Alan Bateman <Alan.Bateman at oracle.com> wrote:
>
> cc'ing core-libs-dev as that is the place to discuss these changes. I see on
> the sign-up sheet [1] that omajid has signed up for java.lang, maybe you are
> working together? I'll leave it to Stuart to say whether he wants to
> refactor/other changes separated from the warnings changes.
>
> One thing I'm curious about is @SuppressWarnings("BooleanConstructorCall")
> as it suggests that some other compiler, or maybe an extension in the
> NetBeans javac?
>
> -Alan
>
> [1]
> http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29
>
>
> On 02/12/2011 11:06, David Schlosnagle wrote:
>>
>> I didn't have a chance to sign-up or submit during the official
>> warnings cleanup day, but I'm hoping that you'll still accept patches.
>> I do not have a bug number for this change.
>>
>> The webrev [1] below should resolve 208 warnings in the java.lang.*
>> and java.util.** packages. I tried to stick to fixing warnings, but
>> OCD kicked in while editing in NetBeans, so there are a few additional
>> IDE warnings fixed as well for the modified files. For example, adding
>> @Override on the relevant methods, removals of dead stores, conversion
>> to Strings in switch, StringBuffer -> ?StringBuilder where localized (I
>> realize lock elision in HotSpot and JRockit should make them
>> practically equivalent, but NetBeans still complains and I assume
>> there is still some unnecessary synchronization overhead).
>> ConditionalSpecialCasing.java also has some slight refactoring to
>> utilize the updated parameterized types.
>>
>> Additionally, there was one change to
>> java.util.regex.Pattern#subFlag() that I'd like someone to review more
>> carefully as it was previously falling through the last case, but I
>> believe the last case should have had a break; to properly handle
>> other flags.
>>
>> *** 3006,3015 ****
>> --- 3014,3024 ----
>> ? ? ? ? ? ? ? case 'x':
>> ? ? ? ? ? ? ? ? ? flags&= ~COMMENTS;
>> ? ? ? ? ? ? ? ? ? break;
>> ? ? ? ? ? ? ? case 'U':
>> ? ? ? ? ? ? ? ? ? flags&= ~(UNICODE_CHARACTER_CLASS | UNICODE_CASE);
>> + ? ? ? ? ? ? ? ? break;
>> ? ? ? ? ? ? ? default:
>> ? ? ? ? ? ? ? ? ? return;
>> ? ? ? ? ? ? ? }
>>
>> If you want any of the additional cleanup removed from the patch or
>> other changes, please let me know.
>>
>> [1]: http://dl.dropbox.com/u/23832908/openjdk/2011-12-01/index.html
>>
>> Files modified:
>> ? ? java/lang/Boolean.java
>> ? ? java/lang/Byte.java
>> ? ? java/lang/Character.java
>> ? ? java/lang/Class.java
>> ? ? java/lang/ConditionalSpecialCasing.java
>> ? ? java/lang/Double.java
>> ? ? java/lang/Float.java
>> ? ? java/lang/Integer.java
>> ? ? java/lang/Long.java
>> ? ? java/lang/Short.java
>> ? ? java/lang/System.java
>> ? ? java/lang/ThreadLocal.java
>> ? ? java/lang/Void.java
>> ? ? java/util/IllegalFormatConversionException.java
>> ? ? java/util/Locale.java
>> ? ? java/util/regex/Matcher.java
>> ? ? java/util/regex/Pattern.java
>> ? ? java/util/regex/PatternSyntaxException.java
>> ? ? java/util/regex/UnicodeProp.java
>>
>> Thanks,
>> Dave
>
>

From dalibor.topic at oracle.com  Fri Dec  2 05:12:41 2011
From: dalibor.topic at oracle.com (Dalibor Topic)
Date: Fri, 02 Dec 2011 14:12:41 +0100
Subject: Chat room for JDK8 bug hunt on Dec 1
In-Reply-To: <CAP7YuAQzvogy6Ezme6KYVttftDp0YuQP3O9MneFNR7_c=FoAfQ@mail.gmail.com>
References: <CAP7YuATNwakTepTbeh7qjVrXtxQS2oijf1u5n1puAXs6S19vbw@mail.gmail.com>
	<E46DD3B8-A863-48C9-BECF-EFA6DB1DA0DC@gmail.com>
	<CAP7YuAQzvogy6Ezme6KYVttftDp0YuQP3O9MneFNR7_c=FoAfQ@mail.gmail.com>
Message-ID: <4ED8CEC9.1080803@oracle.com>

On 11/30/11 10:56 PM, Martijn Verburg wrote:
> Hi all,
> 
> I simply wasn't aware of #openjdk - what IRC server does that run on?

irc.oftc.net - http://openjdk.java.net/irc/ ;)

cheers,
dalibor topic


-- 
Oracle <http://www.oracle.com>
Dalibor Topic | Java F/OSS Ambassador
Phone: +494023646738 <tel:+494023646738> | Mobile: +491772664192 <tel:+491772664192>
Oracle Java Platform Group

ORACLE Deutschland B.V. & Co. KG | Nagelsweg 55 | 20097 Hamburg

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstr. 25, D-80992 M?nchen
Registergericht: Amtsgericht M?nchen, HRA 95603
Gesch?ftsf?hrer: J?rgen Kunz

Komplement?rin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Gesch?ftsf?hrer: Alexander van der Ven, Astrid Kepper, Val Maher

Green Oracle <http://www.oracle.com/commitment> Oracle is committed to developing practices and products that help protect the environment

From omajid at redhat.com  Fri Dec  2 09:00:29 2011
From: omajid at redhat.com (Omair Majid)
Date: Fri, 02 Dec 2011 12:00:29 -0500
Subject: Request for Review: Warnings cleanup in java.lang.*, java.util.**
In-Reply-To: <4ED8C221.7070603@oracle.com>
References: <CAGVnyzRNvKDpSN-TuKRDg+ckKEZcQj-EfLUnt1Ayfse0PeDk6g@mail.gmail.com>
	<4ED8C221.7070603@oracle.com>
Message-ID: <4ED9042D.3000307@redhat.com>

Hi,

On 12/02/2011 07:18 AM, Alan Bateman wrote:
>
> cc'ing core-libs-dev as that is the place to discuss these changes. I
> see on the sign-up sheet [1] that omajid has signed up for java.lang,
> maybe you are working together?

Unfortunately, David and I were not working together :(

Anyway, here is my webrev for java.lang.*
http://cr.openjdk.java.net/~omajid/webrevs/warnings-day-2011/01/

Sorry about the delay, building and testing this took longer than I had 
expected it to. Also, this patch only addresses the warnings pointed out 
by javac.

The classes java.lang.ThreadLocal and java.lang.ClassValue are not 
included in the webrev. The fixes for ThreadLocal were basically 
sprinkling @SuppressWarnings("unchecked") throughout and the fixes for 
ClassValue looked slightly more complex when I tried to reduce the use 
of rawtypes. I will post a separate webrev for those later.

Cheers,
Omair

From dbhole at redhat.com  Fri Dec  2 10:47:26 2011
From: dbhole at redhat.com (Deepak Bhole)
Date: Fri, 2 Dec 2011 13:47:26 -0500
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
Message-ID: <20111202184726.GX2461@redhat.com>

* John Rose <john.r.rose at oracle.com> [2011-12-01 19:49]:
> On Dec 1, 2011, at 3:19 PM, Deepak Bhole wrote:
> 
> > Hi All,
> > 
> > Here are all the warning fixes for java.text.**:
> > 
> > http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.00/
> > 
> > I have added suppressions where fixes would cause compatibility
> > breakage, or where fixes would be too convoluted (e.g the ever so fun
> > genericized array creation :)).
> 
> Thanks for doing all this work!  I have some review comments.
> 
> Bottom line:  In some few cases, I think the the @SuppressWarnings annotations can be refined.  Also, I am worried that there are one or two API signature changes or behavior changes.
> 
> Details:
> 
> On chunks like this:
> -        HashSet keys = new HashSet();
> +        HashSet<Attribute> keys = new HashSet<Attribute>();
> consider using new HashSet<>().
> 
> See also occurrences of new Vector<Attribute>, new HashSet<Map.Entry<Attribute, Object>>, SoftReference<BreakIteratorCache>, etc.
> 

Ah, I wasn't sure if I should have used 7-specific features so I stayed
away from them (when bootstrapping when ecj, we found diamond to be
problematic as older ecj versions cannot understand it). I will change
these then.

> (Netbeans can find opportunities for diamond operators, BTW.)
> 
> The new parameters <K extends Attribute, V> are clearly more correct, but they look like an API change on a public method or constructor.  If so, I think you'll have to find a different approach.  (But I'm not an API change and generics expert.)
> 

Do you mean the changes in the AttributedString constructor? I just
added names for the bounded and unbound wildcards so that they could be
used in the body (without it, the compiler was throwing errors).

I am not expert on these either -- I didn't know adding names could
change signature in an incompatible way.

I just wrote a small test case to try this out and everything seems to
work fine. Adding named parameters does not appear to break
compatibility in my test case.

> A trivial refactoring to use a private parameterized method might work nicely, but we're not doing refactorings today.
> 

Yeah, I wanted to stay away from anything that added/removed any code :)

> For createRunAttributeDataVectors, ensureRunBreak, etc. consider pushing the @SuppressWarnings down onto the individual declarations.  It is best to put @SuppressWarnings on the smallest program unit possible, and a local variable declaration is often the right spot.  I see that createRunAttributeDataVectors could be viewed as simple enough to mark as a whole, but ensureRunBreak is probably too complex to mark as a whole.
> 

Doh! Good point.

For DictionaryBasedBreakIterator.divideUpDictionaryRange, I cannot add
it above the 
"bestBreakPositions = (Stack<Integer>)(currentBreakPositions.clone());" line
without refactoring. I done done a very minor refactor (use copy
constructor instead of clone) -- please let me know if it is
satisfactory.

As for others, I've narrowed it in the new webrev. Narrowing also
exposed a few more places I had missed in ensureRunBreak. Fixed now.

> In the same way, consider pushing the annotation into the body of class AttributeEntry, even though that class is very simple.
>

That one is for the declaration itself -- the warning is about the Map
supertype not being parameterized.

> For generic array creation, I suggest that you get rid of the "rawtypes" warning on the array element type by adding <?>, before suppressing the "unchecked" warning.  Basically, when you find yourself writing new Foo<Bar>[len], change it to new Foo<?>[len].  Then, if you still get an unchecked warning, add SuppressWarnings.
> 
> -            Vector newRunAttributes[] = new Vector[newArraySize];
> -            Vector newRunAttributeValues[] = new Vector[newArraySize];
> +            @SuppressWarnings("unchecked")  // generic array creation
> +            Vector<Attribute> newRunAttributes[] = new Vector<?>[newArraySize];
> +            @SuppressWarnings("unchecked")  // generic array creation
> +            Vector<Object> newRunAttributeValues[] = new Vector<?>[newArraySize];
> 

I tried that yesterday, but the compiler threw errors:

../../../src/share/classes/java/text/AttributedString.java:420: error: incompatible types
        Vector<Attribute> newRunAttributes[] = new Vector<?>[ARRAY_SIZE_INCREMENT];
                                               ^
  required: Vector<Attribute>[]
  found:    Vector<?>[]

> It is probably a good idea to put a comment on most @SuppressWarnings annotations.
> 
> Similarly:
> 
> -    private static final SoftReference[] iterCache = new SoftReference[4];
> +
> +    @SuppressWarnings({"unchecked","rawtypes"})
> +    private static final SoftReference<BreakIteratorCache>[] iterCache = new SoftReference[4];
> ++    @SuppressWarnings("unchecked")
> ++    private static final SoftReference<BreakIteratorCache>[] iterCache = new SoftReference<?>[4];
> 

Similar error as above.

> There is an apparent behavior change in CollationElementIterator.setOffset, in this chunk:
> -                int c = text.setIndex(newOffset);
> +                text.setIndexOnly(newOffset);
> +                int c = text.current();
> 

setIndex is deprecated, so I looked into what the method did and did it
at the call site. Sorry, I should have specifically mentioned this
re-factor in the original email :( 

I am fine with just suppressing deprecation warning there. I have done
so in the new copy by adding the annotation to the method.

> (About 50% through.  More to come...)
> 

(from the second email):

> Here's the rest.
> 
> I think the method divideUpDictionaryRange is too complex (181 LOC) to be covered by one @SuppressWarnings.  Even adding 30 annotations in the body would be better, since then the other 151 LOC would remain protected.
> 
> I do like the informative comment on @SuppressWarnings:
> +    @SuppressWarnings("unchecked") // suppress unchecked warning for cloning stack
> 

Fixed with a minor re-factor as mentioned above.

> Extra parens (only needed when there was a cast) can go away:
> +            cachedBreakPositions[i + 1] = (currentBreakPositions.elementAt(i)).intValue();
> ++            cachedBreakPositions[i + 1] = currentBreakPositions.elementAt(i).intValue();
> 

Oops. Fixed in all locations (there were 3 others).

> This one has to be on the method level, of course.  Good comment; suggest s/fallthrough/fallthrough in switch/.
> +    @SuppressWarnings("fallthrough") // fallthrough is expected, suppress it
> 

Done!

> Diamond operator, again:
> +        ArrayList<AttributedCharacterIterator> iterators = new ArrayList<AttributedCharacterIterator>();
> ++        ArrayList<AttributedCharacterIterator> iterators = new ArrayList<>();
> 
> and:
> +    private static final Hashtable<Locale, String[]> cachedLocaleData = new Hashtable<Locale, String[]>(3);
> ++    private static final Hashtable<Locale, String[]> cachedLocaleData = new Hashtable<>(3);
> +        private static final Map<String, Field> instanceMap = new HashMap<String, Field>(11);
> ++        private static final Map<String, Field> instanceMap = new HashMap<>(11);
> +            entryTable = new Vector<EntryPair>(INITIALTABLESIZE);
> ++            entryTable = new Vector<>(INITIALTABLESIZE);
> 

Fixed all updates in the patch to use diamond.

> 
> This one has to be at class level; good comment:
> + at SuppressWarnings("serial") // Adding serial ID will break compatibility. Suppress it. 
> 

I saw Stuart's comments on this. Didn't know that there was a way to find
existing serialid (I thought Eclipse just generated a random one)! I have added
the class default id.

> There is a peculiar space in the "int []" type name; consider removing it:
> +                          Vector<int []> eTbl,
> ++                          Vector<int[]> eTbl,
> 
> +    private Vector<int []> expandTable = null;
> ++    private Vector<int[]> expandTable = null;
> +            expandTable = new Vector<int []>(INITIALTABLESIZE);
> ++            expandTable = new Vector<int[]>(INITIALTABLESIZE);
> +    private Vector<int []>   expandTable = null;

Ah, I copied what was there before in RBTableBuilder:
int[] valueList = (int [])expandTable.elementAt(i);

Fixed everywhere.


New webrev:
http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.01/

For convenience, I've also uploaded a diff between previous webrev and
new one to make it clear as to what changed:
http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.01/rev-00-01.patch

Thanks for the quick and detailed review!

Cheers,
Deepak

From naoto.sato at oracle.com  Fri Dec  2 10:56:17 2011
From: naoto.sato at oracle.com (Naoto Sato)
Date: Fri, 02 Dec 2011 10:56:17 -0800
Subject: Review request for IMF classes and Locale related classes
Message-ID: <4ED91F51.2020502@oracle.com>

Hello,

Could you please review these two changesets for the WCD? One is for 
classes that belongs to input method framework:

http://cr.openjdk.java.net/~naoto/7117465/webrev.00/

and the other is for (some of the) i18n related *.util.* classes:

http://cr.openjdk.java.net/~naoto/7117469/webrev.00/

Thanks!
Naoto

From forax at univ-mlv.fr  Fri Dec  2 11:20:45 2011
From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=)
Date: Fri, 02 Dec 2011 20:20:45 +0100
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <20111202184726.GX2461@redhat.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<20111202184726.GX2461@redhat.com>
Message-ID: <4ED9250D.7000205@univ-mlv.fr>

Hi Deepak,

On 12/02/2011 07:47 PM, Deepak Bhole wrote:
> * John Rose<john.r.rose at oracle.com>  [2011-12-01 19:49]:
>> On Dec 1, 2011, at 3:19 PM, Deepak Bhole wrote:
>>
>>> Hi All,
>>>
>>> Here are all the warning fixes for java.text.**:
>>>
>>> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.00/
>>>
>>> I have added suppressions where fixes would cause compatibility
>>> breakage, or where fixes would be too convoluted (e.g the ever so fun
>>> genericized array creation :)).
>> Thanks for doing all this work!  I have some review comments.
>>
>> Bottom line:  In some few cases, I think the the @SuppressWarnings annotations can be refined.  Also, I am worried that there are one or two API signature changes or behavior changes.
>>
>> Details:
>>
>> On chunks like this:
>> -        HashSet keys = new HashSet();
>> +        HashSet<Attribute>  keys = new HashSet<Attribute>();
>> consider using new HashSet<>().
>>
>> See also occurrences of new Vector<Attribute>, new HashSet<Map.Entry<Attribute, Object>>, SoftReference<BreakIteratorCache>, etc.
>>
> Ah, I wasn't sure if I should have used 7-specific features so I stayed
> away from them (when bootstrapping when ecj, we found diamond to be
> problematic as older ecj versions cannot understand it). I will change
> these then.

You can use them everywhere but in langtools because
the compiler need to bootstrap itself.

>
>> (Netbeans can find opportunities for diamond operators, BTW.)
>>
>> The new parameters<K extends Attribute, V>  are clearly more correct, but they look like an API change on a public method or constructor.  If so, I think you'll have to find a different approach.  (But I'm not an API change and generics expert.)
>>
> Do you mean the changes in the AttributedString constructor? I just
> added names for the bounded and unbound wildcards so that they could be
> used in the body (without it, the compiler was throwing errors).
>
> I am not expert on these either -- I didn't know adding names could
> change signature in an incompatible way.
>
> I just wrote a small test case to try this out and everything seems to
> work fine. Adding named parameters does not appear to break
> compatibility in my test case.
>
>> A trivial refactoring to use a private parameterized method might work nicely, but we're not doing refactorings today.
>>
> Yeah, I wanted to stay away from anything that added/removed any code :)
>
>> For createRunAttributeDataVectors, ensureRunBreak, etc. consider pushing the @SuppressWarnings down onto the individual declarations.  It is best to put @SuppressWarnings on the smallest program unit possible, and a local variable declaration is often the right spot.  I see that createRunAttributeDataVectors could be viewed as simple enough to mark as a whole, but ensureRunBreak is probably too complex to mark as a whole.
>>
> Doh! Good point.
>
> For DictionaryBasedBreakIterator.divideUpDictionaryRange, I cannot add
> it above the
> "bestBreakPositions = (Stack<Integer>)(currentBreakPositions.clone());" line
> without refactoring. I done done a very minor refactor (use copy
> constructor instead of clone) -- please let me know if it is
> satisfactory.

It seems you still use clone,
you can't replace a call to clone with a call to a copy constructor because
if Stack is subclassed, clone will work but not the copy constructor.

>
> As for others, I've narrowed it in the new webrev. Narrowing also
> exposed a few more places I had missed in ensureRunBreak. Fixed now.
>
>> In the same way, consider pushing the annotation into the body of class AttributeEntry, even though that class is very simple.
>>
> That one is for the declaration itself -- the warning is about the Map
> supertype not being parameterized.
>
>> For generic array creation, I suggest that you get rid of the "rawtypes" warning on the array element type by adding<?>, before suppressing the "unchecked" warning.  Basically, when you find yourself writing new Foo<Bar>[len], change it to new Foo<?>[len].  Then, if you still get an unchecked warning, add SuppressWarnings.
>>
>> -            Vector newRunAttributes[] = new Vector[newArraySize];
>> -            Vector newRunAttributeValues[] = new Vector[newArraySize];
>> +            @SuppressWarnings("unchecked")  // generic array creation
>> +            Vector<Attribute>  newRunAttributes[] = new Vector<?>[newArraySize];
>> +            @SuppressWarnings("unchecked")  // generic array creation
>> +            Vector<Object>  newRunAttributeValues[] = new Vector<?>[newArraySize];
>>
> I tried that yesterday, but the compiler threw errors:
>
> ../../../src/share/classes/java/text/AttributedString.java:420: error: incompatible types
>          Vector<Attribute>  newRunAttributes[] = new Vector<?>[ARRAY_SIZE_INCREMENT];
>                                                 ^
>    required: Vector<Attribute>[]
>    found:    Vector<?>[]

Yes, you need to add a cast,

Vector<Attribute>[] newRunAttributes = (Vector<Attribute>[])new Vector<?>[ARRAY_SIZE_INCREMENT];

but if Java is reified in 1.9 as state the current plan, we will be in 
trouble.

>
>> It is probably a good idea to put a comment on most @SuppressWarnings annotations.
>>
>> Similarly:
>>
>> -    private static final SoftReference[] iterCache = new SoftReference[4];
>> +
>> +    @SuppressWarnings({"unchecked","rawtypes"})
>> +    private static final SoftReference<BreakIteratorCache>[] iterCache = new SoftReference[4];
>> ++    @SuppressWarnings("unchecked")
>> ++    private static final SoftReference<BreakIteratorCache>[] iterCache = new SoftReference<?>[4];
>>
> Similar error as above.
>
>> There is an apparent behavior change in CollationElementIterator.setOffset, in this chunk:
>> -                int c = text.setIndex(newOffset);
>> +                text.setIndexOnly(newOffset);
>> +                int c = text.current();
>>
> setIndex is deprecated, so I looked into what the method did and did it
> at the call site. Sorry, I should have specifically mentioned this
> re-factor in the original email :(
>
> I am fine with just suppressing deprecation warning there. I have done
> so in the new copy by adding the annotation to the method.
>
>> (About 50% through.  More to come...)
>>
> (from the second email):
>
>> Here's the rest.
>>
>> I think the method divideUpDictionaryRange is too complex (181 LOC) to be covered by one @SuppressWarnings.  Even adding 30 annotations in the body would be better, since then the other 151 LOC would remain protected.
>>
>> I do like the informative comment on @SuppressWarnings:
>> +    @SuppressWarnings("unchecked") // suppress unchecked warning for cloning stack
>>
> Fixed with a minor re-factor as mentioned above.
>
>> Extra parens (only needed when there was a cast) can go away:
>> +            cachedBreakPositions[i + 1] = (currentBreakPositions.elementAt(i)).intValue();
>> ++            cachedBreakPositions[i + 1] = currentBreakPositions.elementAt(i).intValue();
>>
> Oops. Fixed in all locations (there were 3 others).
>
>> This one has to be on the method level, of course.  Good comment; suggest s/fallthrough/fallthrough in switch/.
>> +    @SuppressWarnings("fallthrough") // fallthrough is expected, suppress it
>>
> Done!
>
>> Diamond operator, again:
>> +        ArrayList<AttributedCharacterIterator>  iterators = new ArrayList<AttributedCharacterIterator>();
>> ++        ArrayList<AttributedCharacterIterator>  iterators = new ArrayList<>();
>>
>> and:
>> +    private static final Hashtable<Locale, String[]>  cachedLocaleData = new Hashtable<Locale, String[]>(3);
>> ++    private static final Hashtable<Locale, String[]>  cachedLocaleData = new Hashtable<>(3);
>> +        private static final Map<String, Field>  instanceMap = new HashMap<String, Field>(11);
>> ++        private static final Map<String, Field>  instanceMap = new HashMap<>(11);
>> +            entryTable = new Vector<EntryPair>(INITIALTABLESIZE);
>> ++            entryTable = new Vector<>(INITIALTABLESIZE);
>>
> Fixed all updates in the patch to use diamond.
>
>> This one has to be at class level; good comment:
>> + at SuppressWarnings("serial") // Adding serial ID will break compatibility. Suppress it.
>>
> I saw Stuart's comments on this. Didn't know that there was a way to find
> existing serialid (I thought Eclipse just generated a random one)! I have added
> the class default id.
>
>> There is a peculiar space in the "int []" type name; consider removing it:
>> +                          Vector<int []>  eTbl,
>> ++                          Vector<int[]>  eTbl,
>>
>> +    private Vector<int []>  expandTable = null;
>> ++    private Vector<int[]>  expandTable = null;
>> +            expandTable = new Vector<int []>(INITIALTABLESIZE);
>> ++            expandTable = new Vector<int[]>(INITIALTABLESIZE);
>> +    private Vector<int []>    expandTable = null;
> Ah, I copied what was there before in RBTableBuilder:
> int[] valueList = (int [])expandTable.elementAt(i);
>
> Fixed everywhere.
>
>
> New webrev:
> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.01/
>
> For convenience, I've also uploaded a diff between previous webrev and
> new one to make it clear as to what changed:
> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.01/rev-00-01.patch
>
> Thanks for the quick and detailed review!
>
> Cheers,
> Deepak

cheers,
R?mi


From mikeb01 at gmail.com  Fri Dec  2 11:24:29 2011
From: mikeb01 at gmail.com (Michael Barker)
Date: Fri, 2 Dec 2011 19:24:29 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
Message-ID: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>

Hi,

We had some late submissions from our hack day participants.  2 more
patches.  One (j.u.z.ZipEntry) is possibly a little more involved for
a warnings fix.  It removes a usage of deprecated Date APIs in favour
of Calendar.  However, the fix results in code that is very similar to
Apache Harmony implementation.  The other is a couple of fixes for
generics (j.u.j.Manifest).

Thanks to:
- Prasannaa

Regards,
Michael Barker
mikeb2701
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/jar/Manifest.java
--- a/src/share/classes/java/util/jar/Manifest.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/jar/Manifest.java	Fri Dec 02 19:15:58 2011 +0000
@@ -30,6 +30,7 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.Map;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -51,7 +52,7 @@
     private Attributes attr = new Attributes();
 
     // manifest entries
-    private Map entries = new HashMap();
+    private Map<String, Attributes> entries = new HashMap<>();
 
     /**
      * Constructs a new, empty Manifest.
@@ -148,20 +149,20 @@
         // Write out the main attributes for the manifest
         attr.writeMain(dos);
         // Now write out the pre-entry attributes
-        Iterator it = entries.entrySet().iterator();
+        Iterator<Map.Entry<String, Attributes>> it = entries.entrySet().iterator();
         while (it.hasNext()) {
-            Map.Entry e = (Map.Entry)it.next();
+            Map.Entry<String, Attributes> e = it.next();
             StringBuffer buffer = new StringBuffer("Name: ");
-            String value = (String)e.getKey();
+            String value = e.getKey();
             if (value != null) {
-                byte[] vb = value.getBytes("UTF8");
-                value = new String(vb, 0, 0, vb.length);
+                byte[] vb = value.getBytes(StandardCharsets.UTF_8);
+                value = new String(vb, 0, 0, StandardCharsets.UTF_8);
             }
             buffer.append(value);
             buffer.append("\r\n");
             make72Safe(buffer);
             dos.writeBytes(buffer.toString());
-            ((Attributes)e.getValue()).write(dos);
+            e.getValue().write(dos);
         }
         dos.flush();
     }
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/zip/ZipEntry.java
--- a/src/share/classes/java/util/zip/ZipEntry.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/zip/ZipEntry.java	Fri Dec 02 19:12:54 2011 +0000
@@ -24,7 +24,7 @@
  */
 
 package java.util.zip;
-
+import java.util.Calendar;
 import java.util.Date;
 
 /**
@@ -281,27 +281,33 @@
      * Converts DOS time to Java time (number of milliseconds since epoch).
      */
     private static long dosToJavaTime(long dtime) {
-        Date d = new Date((int)(((dtime >> 25) & 0x7f) + 80),
-                          (int)(((dtime >> 21) & 0x0f) - 1),
-                          (int)((dtime >> 16) & 0x1f),
-                          (int)((dtime >> 11) & 0x1f),
-                          (int)((dtime >> 5) & 0x3f),
-                          (int)((dtime << 1) & 0x3e));
-        return d.getTime();
+	    Calendar cal = Calendar.getInstance();
+	    cal.set(Calendar.YEAR, (int) ((dtime >> 25) & 0x7f) + 1980);
+	    cal.set(Calendar.MONTH, (int) ((dtime >> 21) & 0x0f) - 1);
+	    cal.set(Calendar.DATE, (int) (dtime >> 16) & 0x1f);
+	    cal.set(Calendar.HOUR_OF_DAY, (int) (dtime >> 11) & 0x1f);
+	    cal.set(Calendar.MINUTE, (int) (dtime >> 5) & 0x3f);
+	    cal.set(Calendar.SECOND, (int) (dtime << 1) & 0x3e);
+	    return cal.getTimeInMillis();
     }
 
     /*
      * Converts Java time to DOS time.
      */
     private static long javaToDosTime(long time) {
-        Date d = new Date(time);
-        int year = d.getYear() + 1900;
+        Calendar cal = Calendar.getInstance();
+        cal.setTimeInMillis(time);
+        int year = cal.get(Calendar.YEAR);
         if (year < 1980) {
             return (1 << 21) | (1 << 16);
         }
-        return (year - 1980) << 25 | (d.getMonth() + 1) << 21 |
-               d.getDate() << 16 | d.getHours() << 11 | d.getMinutes() << 5 |
-               d.getSeconds() >> 1;
+        int month = cal.get(Calendar.MONTH) + 1;
+        return (year - 1980) << 25
+                | month << 21
+                | cal.get(Calendar.DAY_OF_MONTH) << 16
+                | cal.get(Calendar.HOUR_OF_DAY) << 11
+                | cal.get(Calendar.MINUTE) << 5
+                | cal.get(Calendar.SECOND) >> 1;
     }
 
     /**

From dbhole at redhat.com  Fri Dec  2 11:32:43 2011
From: dbhole at redhat.com (Deepak Bhole)
Date: Fri, 2 Dec 2011 14:32:43 -0500
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <4ED9250D.7000205@univ-mlv.fr>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<20111202184726.GX2461@redhat.com> <4ED9250D.7000205@univ-mlv.fr>
Message-ID: <20111202193243.GY2461@redhat.com>

* R?mi Forax <forax at univ-mlv.fr> [2011-12-02 14:23]:
> Hi Deepak,
> 
> On 12/02/2011 07:47 PM, Deepak Bhole wrote:
> >* John Rose<john.r.rose at oracle.com>  [2011-12-01 19:49]:
> >>On Dec 1, 2011, at 3:19 PM, Deepak Bhole wrote:
> >>
[ ... ]

> >Ah, I wasn't sure if I should have used 7-specific features so I stayed
> >away from them (when bootstrapping when ecj, we found diamond to be
> >problematic as older ecj versions cannot understand it). I will change
> >these then.
> 
> You can use them everywhere but in langtools because
> the compiler need to bootstrap itself.

Ah okay, thanks.

[ ... ]
> >
> >>For createRunAttributeDataVectors, ensureRunBreak, etc. consider pushing the @SuppressWarnings down onto the individual declarations.  It is best to put @SuppressWarnings on the smallest program unit possible, and a local variable declaration is often the right spot.  I see that createRunAttributeDataVectors could be viewed as simple enough to mark as a whole, but ensureRunBreak is probably too complex to mark as a whole.
> >>
> >Doh! Good point.
> >
> >For DictionaryBasedBreakIterator.divideUpDictionaryRange, I cannot add
> >it above the
> >"bestBreakPositions = (Stack<Integer>)(currentBreakPositions.clone());" line
> >without refactoring. I done done a very minor refactor (use copy
> >constructor instead of clone) -- please let me know if it is
> >satisfactory.
> 
> It seems you still use clone,
> you can't replace a call to clone with a call to a copy constructor because
> if Stack is subclassed, clone will work but not the copy constructor.
> 

Doh. Sorry, I forgot to update my reply before sending. Using copy constructor
was my intended approach, but then I realized that Stack itself doesn't have
one (for the exact reason you pointed out :) -- Stack's parent Vector has one).
What I did was create a temp copy object in the local scope (thus allowing
suppression) and then assign the outer scope stack to it.

Sorry for the unnecessary noise.

[ ... ]

> >>For generic array creation, I suggest that you get rid of the "rawtypes" warning on the array element type by adding<?>, before suppressing the "unchecked" warning.  Basically, when you find yourself writing new Foo<Bar>[len], change it to new Foo<?>[len].  Then, if you still get an unchecked warning, add SuppressWarnings.
> >>
> >>-            Vector newRunAttributes[] = new Vector[newArraySize];
> >>-            Vector newRunAttributeValues[] = new Vector[newArraySize];
> >>+            @SuppressWarnings("unchecked")  // generic array creation
> >>+            Vector<Attribute>  newRunAttributes[] = new Vector<?>[newArraySize];
> >>+            @SuppressWarnings("unchecked")  // generic array creation
> >>+            Vector<Object>  newRunAttributeValues[] = new Vector<?>[newArraySize];
> >>
> >I tried that yesterday, but the compiler threw errors:
> >
> >../../../src/share/classes/java/text/AttributedString.java:420: error: incompatible types
> >         Vector<Attribute>  newRunAttributes[] = new Vector<?>[ARRAY_SIZE_INCREMENT];
> >                                                ^
> >   required: Vector<Attribute>[]
> >   found:    Vector<?>[]
> 
> Yes, you need to add a cast,
> 
> Vector<Attribute>[] newRunAttributes = (Vector<Attribute>[])new Vector<?>[ARRAY_SIZE_INCREMENT];
> 
> but if Java is reified in 1.9 as state the current plan, we will be
> in trouble.
> 

I see. Then perhaps it is just better to leave the code as it and keep
the suppressions in rev 01? Or should I change it regardless and then
let it be fixed again for 9?

Thanks for taking a look!

Cheers,
Deepak

From forax at univ-mlv.fr  Fri Dec  2 11:39:08 2011
From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=)
Date: Fri, 02 Dec 2011 20:39:08 +0100
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
Message-ID: <4ED9295C.1080705@univ-mlv.fr>

On 12/02/2011 08:24 PM, Michael Barker wrote:
> Hi,
>
> We had some late submissions from our hack day participants.  2 more
> patches.  One (j.u.z.ZipEntry) is possibly a little more involved for
> a warnings fix.  It removes a usage of deprecated Date APIs in favour
> of Calendar.  However, the fix results in code that is very similar to
> Apache Harmony implementation.  The other is a couple of fixes for
> generics (j.u.j.Manifest).
>
> Thanks to:
> - Prasannaa
>
> Regards,
> Michael Barker
> mikeb2701

Hi Mickael,
one change to Manifest.java introduces a bug !

-                byte[] vb = value.getBytes("UTF8");
-                value = new String(vb, 0, 0, vb.length);
+                byte[] vb = value.getBytes(StandardCharsets.UTF_8);
+                value = new String(vb, 0, 0, StandardCharsets.UTF_8);


the last line should be:
value = new String(vb, 0, 0, vb.length);

cheers,
R?mi

From joe.darcy at oracle.com  Fri Dec  2 11:48:56 2011
From: joe.darcy at oracle.com (Joe Darcy)
Date: Fri, 02 Dec 2011 11:48:56 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <20111202193243.GY2461@redhat.com>
References: <20111201231919.GQ2461@redhat.com>	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>	<20111202184726.GX2461@redhat.com>
	<4ED9250D.7000205@univ-mlv.fr> <20111202193243.GY2461@redhat.com>
Message-ID: <4ED92BA8.8080504@oracle.com>

On 12/2/2011 11:32 AM, Deepak Bhole wrote:
> * R?mi Forax<forax at univ-mlv.fr>  [2011-12-02 14:23]:
>> Hi Deepak,
>>
>> On 12/02/2011 07:47 PM, Deepak Bhole wrote:
>>> * John Rose<john.r.rose at oracle.com>   [2011-12-01 19:49]:
>>>> On Dec 1, 2011, at 3:19 PM, Deepak Bhole wrote:
>>>>
> [ ... ]
>
>>> Ah, I wasn't sure if I should have used 7-specific features so I stayed
>>> away from them (when bootstrapping when ecj, we found diamond to be
>>> problematic as older ecj versions cannot understand it). I will change
>>> these then.
>> You can use them everywhere but in langtools because
>> the compiler need to bootstrap itself.
> Ah okay, thanks.
>

FYI, at least in prior incarnations of the JDK build process, there are 
also small portions of the core libraries, e.g. the primitive wrapper 
classes,  that are built using the bootstrap compiler under an earlier 
source level.

-Joe

From xueming.shen at oracle.com  Fri Dec  2 11:58:06 2011
From: xueming.shen at oracle.com (Xueming Shen)
Date: Fri, 02 Dec 2011 11:58:06 -0800
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
Message-ID: <4ED92DCE.3030108@oracle.com>


The j.u.z.ZipEntry change should NOT be in as a warning cleanup. Will 
need further
evaluation/measurement, for example from performance point of view, the 
change
now creates a new Calendar instance instead of a Date object (Date class 
uses a
singleton BaseCalendar for the calculation, if I remember correctly) for 
each invocation.

-Sherman

On 12/02/2011 11:24 AM, Michael Barker wrote:
> Hi,
>
> We had some late submissions from our hack day participants.  2 more
> patches.  One (j.u.z.ZipEntry) is possibly a little more involved for
> a warnings fix.  It removes a usage of deprecated Date APIs in favour
> of Calendar.  However, the fix results in code that is very similar to
> Apache Harmony implementation.  The other is a couple of fixes for
> generics (j.u.j.Manifest).
>
> Thanks to:
> - Prasannaa
>
> Regards,
> Michael Barker
> mikeb2701


From mikeb01 at gmail.com  Fri Dec  2 12:02:22 2011
From: mikeb01 at gmail.com (Michael Barker)
Date: Fri, 2 Dec 2011 20:02:22 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <4ED9295C.1080705@univ-mlv.fr>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED9295C.1080705@univ-mlv.fr>
Message-ID: <CALwNKeS6ASGdgVcRNhU5zY_UQKioyS-n5BSt0=Djth3ppXr3LA@mail.gmail.com>

> one change to Manifest.java introduces a bug !
>
> - ? ? ? ? ? ? ? ?byte[] vb = value.getBytes("UTF8");
> - ? ? ? ? ? ? ? ?value = new String(vb, 0, 0, vb.length);
> + ? ? ? ? ? ? ? ?byte[] vb = value.getBytes(StandardCharsets.UTF_8);
> + ? ? ? ? ? ? ? ?value = new String(vb, 0, 0, StandardCharsets.UTF_8);
>
>
> the last line should be:
> value = new String(vb, 0, 0, vb.length);

Cheers, good spot.  I've attached an updated patch.

Mike.
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/jar/Manifest.java
--- a/src/share/classes/java/util/jar/Manifest.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/jar/Manifest.java	Fri Dec 02 19:59:38 2011 +0000
@@ -30,6 +30,7 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.Map;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -51,7 +52,7 @@
     private Attributes attr = new Attributes();
 
     // manifest entries
-    private Map entries = new HashMap();
+    private Map<String, Attributes> entries = new HashMap<>();
 
     /**
      * Constructs a new, empty Manifest.
@@ -148,20 +149,20 @@
         // Write out the main attributes for the manifest
         attr.writeMain(dos);
         // Now write out the pre-entry attributes
-        Iterator it = entries.entrySet().iterator();
+        Iterator<Map.Entry<String, Attributes>> it = entries.entrySet().iterator();
         while (it.hasNext()) {
-            Map.Entry e = (Map.Entry)it.next();
+            Map.Entry<String, Attributes> e = it.next();
             StringBuffer buffer = new StringBuffer("Name: ");
-            String value = (String)e.getKey();
+            String value = e.getKey();
             if (value != null) {
-                byte[] vb = value.getBytes("UTF8");
+                byte[] vb = value.getBytes(StandardCharsets.UTF_8);
                 value = new String(vb, 0, 0, vb.length);
             }
             buffer.append(value);
             buffer.append("\r\n");
             make72Safe(buffer);
             dos.writeBytes(buffer.toString());
-            ((Attributes)e.getValue()).write(dos);
+            e.getValue().write(dos);
         }
         dos.flush();
     }

From jonathan.gibbons at oracle.com  Fri Dec  2 12:16:55 2011
From: jonathan.gibbons at oracle.com (Jonathan Gibbons)
Date: Fri, 02 Dec 2011 12:16:55 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <4ED92BA8.8080504@oracle.com>
References: <20111201231919.GQ2461@redhat.com>	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>	<20111202184726.GX2461@redhat.com>	<4ED9250D.7000205@univ-mlv.fr>
	<20111202193243.GY2461@redhat.com> <4ED92BA8.8080504@oracle.com>
Message-ID: <4ED93237.2000904@oracle.com>

On 12/02/2011 11:48 AM, Joe Darcy wrote:
> On 12/2/2011 11:32 AM, Deepak Bhole wrote:
>> * R?mi Forax<forax at univ-mlv.fr>  [2011-12-02 14:23]:
>>> Hi Deepak,
>>>
>>> On 12/02/2011 07:47 PM, Deepak Bhole wrote:
>>>> * John Rose<john.r.rose at oracle.com>   [2011-12-01 19:49]:
>>>>> On Dec 1, 2011, at 3:19 PM, Deepak Bhole wrote:
>>>>>
>> [ ... ]
>>
>>>> Ah, I wasn't sure if I should have used 7-specific features so I 
>>>> stayed
>>>> away from them (when bootstrapping when ecj, we found diamond to be
>>>> problematic as older ecj versions cannot understand it). I will change
>>>> these then.
>>> You can use them everywhere but in langtools because
>>> the compiler need to bootstrap itself.
>> Ah okay, thanks.
>>
>
> FYI, at least in prior incarnations of the JDK build process, there 
> are also small portions of the core libraries, e.g. the primitive 
> wrapper classes,  that are built using the bootstrap compiler under an 
> earlier source level.
>
> -Joe


That was true, and is no longer true.  The dependency got "fixed" when 
we moved langtools into a separate repo/build, and committed langtools 
to being able to work on the boot JDK.

-- Jon



From xueming.shen at oracle.com  Fri Dec  2 12:22:32 2011
From: xueming.shen at oracle.com (Xueming Shen)
Date: Fri, 02 Dec 2011 12:22:32 -0800
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <CALwNKeS6ASGdgVcRNhU5zY_UQKioyS-n5BSt0=Djth3ppXr3LA@mail.gmail.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>	<4ED9295C.1080705@univ-mlv.fr>
	<CALwNKeS6ASGdgVcRNhU5zY_UQKioyS-n5BSt0=Djth3ppXr3LA@mail.gmail.com>
Message-ID: <4ED93388.4020708@oracle.com>

Mike,

I would prefer to leave the "utf8" usage here un-changed.

 From performance point of view, String.getBytes("UTF8") is faster
than String.getBytes(StandardCharsets.UTF_8).

I have some measurement when I did the related performance work at

http://cr.openjdk.java.net/~sherman/7040220/client
http://cr.openjdk.java.net/~sherman/7040220/server

#String.getBytes() is the "encoding".


-Sherman

On 12/02/2011 12:02 PM, Michael Barker wrote:
>> one change to Manifest.java introduces a bug !
>>
>> -                byte[] vb = value.getBytes("UTF8");
>> -                value = new String(vb, 0, 0, vb.length);
>> +                byte[] vb = value.getBytes(StandardCharsets.UTF_8);
>> +                value = new String(vb, 0, 0, StandardCharsets.UTF_8);
>>
>>
>> the last line should be:
>> value = new String(vb, 0, 0, vb.length);
> Cheers, good spot.  I've attached an updated patch.
>
> Mike.


From ddadacha at redhat.com  Fri Dec  2 12:29:14 2011
From: ddadacha at redhat.com (Danesh Dadachanji)
Date: Fri, 02 Dec 2011 15:29:14 -0500
Subject: Review request for javax.imageio (Warning Cleanup Day)
Message-ID: <4ED9351A.8040802@redhat.com>

Hi,

Here's a webrev with cleanup in some classes in the javax.imageio 
package. I signed up for ImageReader and ImageWriter but cleaned up 
ImageIO as well.

Bug: Can someone make one please, thanks!
Webrev: 
http://icedtea.classpath.org/~ddadacha/warnings-cleanup-javax-imageio/

I've missed a few warnings in ImageReader and ImageWriter. Methods 
addToList and removeFromList (and all their calls) give unchecked cast 
warnings. I didn't want to change the method signatures but in doing so, 
casting the returns of these method calls still leaves an unchecked 
warning that I am not able to resolve. I'll try finding a solution and 
will submit another webrev once I get further.

Regards,
Danesh

From mikeb01 at gmail.com  Fri Dec  2 12:33:34 2011
From: mikeb01 at gmail.com (Michael Barker)
Date: Fri, 2 Dec 2011 20:33:34 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <4ED93388.4020708@oracle.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED9295C.1080705@univ-mlv.fr>
	<CALwNKeS6ASGdgVcRNhU5zY_UQKioyS-n5BSt0=Djth3ppXr3LA@mail.gmail.com>
	<4ED93388.4020708@oracle.com>
Message-ID: <CALwNKeTO4PHxqs6dGkwd=n+NMYM1YAb3Bj=J=zKbnCTkscTHrg@mail.gmail.com>

> I would prefer to leave the "utf8" usage here un-changed.
>
> From performance point of view, String.getBytes("UTF8") is faster
> than String.getBytes(StandardCharsets.UTF_8).

Okay, patch updated.

Mike.
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/jar/Manifest.java
--- a/src/share/classes/java/util/jar/Manifest.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/jar/Manifest.java	Fri Dec 02 20:31:50 2011 +0000
@@ -30,6 +30,7 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.Map;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -51,7 +52,7 @@
     private Attributes attr = new Attributes();
 
     // manifest entries
-    private Map entries = new HashMap();
+    private Map<String, Attributes> entries = new HashMap<>();
 
     /**
      * Constructs a new, empty Manifest.
@@ -148,11 +149,11 @@
         // Write out the main attributes for the manifest
         attr.writeMain(dos);
         // Now write out the pre-entry attributes
-        Iterator it = entries.entrySet().iterator();
+        Iterator<Map.Entry<String, Attributes>> it = entries.entrySet().iterator();
         while (it.hasNext()) {
-            Map.Entry e = (Map.Entry)it.next();
+            Map.Entry<String, Attributes> e = it.next();
             StringBuffer buffer = new StringBuffer("Name: ");
-            String value = (String)e.getKey();
+            String value = e.getKey();
             if (value != null) {
                 byte[] vb = value.getBytes("UTF8");
                 value = new String(vb, 0, 0, vb.length);
@@ -161,7 +162,7 @@
             buffer.append("\r\n");
             make72Safe(buffer);
             dos.writeBytes(buffer.toString());
-            ((Attributes)e.getValue()).write(dos);
+            e.getValue().write(dos);
         }
         dos.flush();
     }

From philip.race at oracle.com  Fri Dec  2 12:44:45 2011
From: philip.race at oracle.com (Phil Race)
Date: Fri, 02 Dec 2011 12:44:45 -0800
Subject: Review request for javax.imageio (Warning Cleanup Day)
In-Reply-To: <4ED9351A.8040802@redhat.com>
References: <4ED9351A.8040802@redhat.com>
Message-ID: <4ED938BD.2030209@oracle.com>

On 12/2/2011 12:29 PM, Danesh Dadachanji wrote:
> Hi,
>
> Here's a webrev with cleanup in some classes in the javax.imageio 
> package. I signed up for ImageReader and ImageWriter but cleaned up 
> ImageIO as well.

I don't see you on the wiki
http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29
>
> Bug: Can someone make one please, thanks!
> Webrev: 
> http://icedtea.classpath.org/~ddadacha/warnings-cleanup-javax-imageio/

I've bcc'ed the jdk8-dev on this email, as you should move the review to 
the appropriate list (2d-dev).
I don't think we are doing the reviews on the main list, are we ?


>
> I've missed a few warnings in ImageReader and ImageWriter. Methods 
> addToList and removeFromList (and all their calls) give unchecked cast 
> warnings. I didn't want to change the method signatures but in doing 
> so, casting the returns of these method calls still leaves an 
> unchecked warning that I am not able to resolve. I'll try finding a 
> solution and will submit another webrev once I get further.
>

Don't do anything that would mean an API visible change.

-phil.

> Regards,
> Danesh


From xiomara.jayasena at oracle.com  Fri Dec  2 12:47:54 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Fri, 2 Dec 2011 12:47:54 -0800 (PST)
Subject: Review request for javax.imageio (Warning Cleanup Day)
In-Reply-To: <4ED938BD.2030209@oracle.com>
References: <4ED9351A.8040802@redhat.com 4ED938BD.2030209@oracle.com>
Message-ID: <307f8ad7-6a19-4486-b61c-11e31e0c6e59@default>




> -----Original Message-----

> 
> I've bcc'ed the jdk8-dev on this email, as you should move the review
> to the appropriate list (2d-dev).
> I don't think we are doing the reviews on the main list, are we ?

In case someone doesn't know where are review should go it can be started here and then move off to the appropriate list.

-Xiomara

From xiomara.jayasena at oracle.com  Fri Dec  2 12:53:31 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Fri, 2 Dec 2011 12:53:31 -0800 (PST)
Subject: Review request for javax.imageio (Warning Cleanup Day)
In-Reply-To: <4ED938BD.2030209@oracle.com>
References: <4ED9351A.8040802@redhat.com 4ED938BD.2030209@oracle.com>
Message-ID: <065b3cdd-3851-46d0-b1c2-70b8db5c0a12@default>



> 
> I don't see you on the wiki
> http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-
> 12-01%29
> >

I just updated the wiki.

-Xiomara

From jon.vanalten at redhat.com  Fri Dec  2 13:11:01 2011
From: jon.vanalten at redhat.com (Jon VanAlten)
Date: Fri, 02 Dec 2011 16:11:01 -0500 (EST)
Subject: Warnings cleanup in java.lang.instrument,
	java.lang.management (late entry)
In-Reply-To: <9e2af559-922b-44e8-a34f-5c8c5a0ce4fb@zmail13.collab.prod.int.phx2.redhat.com>
Message-ID: <d90afbb5-80ce-437f-974a-473e658c9aee@zmail13.collab.prod.int.phx2.redhat.com>

Hi,

This set is quite trivial, seemed almost not worth a webrev, but nonetheless:

http://icedtea.classpath.org/~vanaltj/webrevs/javalangwarnings/

I did make use of one @SuppressWarnings("unchecked") annotation; the same cause for this warning was being suppressed elsewhere in the file and it looked like it would be a messy refactor to do otherwise, if indeed it would even be possible.

Comments?  Would anyone like to create a bug and sponsor this set?

Thanks,
jon

From masayoshi.okutsu at oracle.com  Fri Dec  2 14:02:32 2011
From: masayoshi.okutsu at oracle.com (Masayoshi Okutsu)
Date: Fri, 02 Dec 2011 14:02:32 -0800
Subject: Review request for warnings cleanup: some i18n classes in java.util
	and sun.util
Message-ID: <4ED94AF8.4080804@oracle.com>

Here are warnings cleanup fixes for some of the i18n classes in 
java.util and sun.util.**.

http://cr.openjdk.java.net/~okutsu/8/7117487/webrev.00/

I made some more cleanup suggested by NetBeans (unused imports, private 
final, etc.) in addition to the standard compiler warnings cleanup.

Thanks,
Masayoshi


From john.r.rose at oracle.com  Fri Dec  2 14:12:04 2011
From: john.r.rose at oracle.com (John Rose)
Date: Fri, 2 Dec 2011 14:12:04 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <20111202184726.GX2461@redhat.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<20111202184726.GX2461@redhat.com>
Message-ID: <21DB2F64-8352-4574-8EFB-58A0C563D907@oracle.com>

On Dec 2, 2011, at 10:47 AM, Deepak Bhole wrote:

>> (Netbeans can find opportunities for diamond operators, BTW.)
>> 
>> The new parameters <K extends Attribute, V> are clearly more correct, but they look like an API change on a public method or constructor.  If so, I think you'll have to find a different approach.  (But I'm not an API change and generics expert.)
>> 
> 
> Do you mean the changes in the AttributedString constructor? I just
> added names for the bounded and unbound wildcards so that they could be
> used in the body (without it, the compiler was throwing errors).
> 
> I am not expert on these either -- I didn't know adding names could
> change signature in an incompatible way.
> 
> I just wrote a small test case to try this out and everything seems to
> work fine. Adding named parameters does not appear to break
> compatibility in my test case.

Since this is an important point, I checked into it.  Result: Wildcards cannot (in general) be compatibly switched with named type parameters in public APIs.

See the demonstration here:
  https://gist.github.com/1424776

(This is subject to correction by someone more expert than me in API evolution, like Alex Buckley, Joe Darcy, or Maurizio Cimadamore.  I'm a JVM hacker!)

>> For createRunAttributeDataVectors, ensureRunBreak, etc. consider pushing the @SuppressWarnings down onto the individual declarations.  It is best to put @SuppressWarnings on the smallest program unit possible, and a local variable declaration is often the right spot.  I see that createRunAttributeDataVectors could be viewed as simple enough to mark as a whole, but ensureRunBreak is probably too complex to mark as a whole.
>> 
> 
> Doh! Good point.
> 
> For DictionaryBasedBreakIterator.divideUpDictionaryRange, I cannot add
> it above the 
> "bestBreakPositions = (Stack<Integer>)(currentBreakPositions.clone());" line
> without refactoring. I done done a very minor refactor (use copy
> constructor instead of clone) -- please let me know if it is
> satisfactory.

I'm OK with that.  Replacing clone by an equivalent copy constructor looks trivial enough to me, even though it changes bytecode output.

> As for others, I've narrowed it in the new webrev. Narrowing also
> exposed a few more places I had missed in ensureRunBreak. Fixed now.
> 
>> In the same way, consider pushing the annotation into the body of class AttributeEntry, even though that class is very simple.
>> 
> 
> That one is for the declaration itself -- the warning is about the Map
> supertype not being parameterized.


I didn't get that clearly from the comment.  Suggest:
+// Suppress warning about raw Map.Entry. Parameterizing Map.Entry correctly 
+// requires changing return of getKey
++// Must suppress the whole class to suppress warning about raw supertype Map.Entry.
++// Parameterizing Map.Entry correctly would requires changing return of getKey.

>> For generic array creation, I suggest that you get rid of the "rawtypes" warning on the array element type by adding <?>, before suppressing the "unchecked" warning.  Basically, when you find yourself writing new Foo<Bar>[len], change it to new Foo<?>[len].  Then, if you still get an unchecked warning, add SuppressWarnings.
>> 
>> -            Vector newRunAttributes[] = new Vector[newArraySize];
>> -            Vector newRunAttributeValues[] = new Vector[newArraySize];
>> +            @SuppressWarnings("unchecked")  // generic array creation
>> +            Vector<Attribute> newRunAttributes[] = new Vector<?>[newArraySize];
>> +            @SuppressWarnings("unchecked")  // generic array creation
>> +            Vector<Object> newRunAttributeValues[] = new Vector<?>[newArraySize];
>> 
> 
> I tried that yesterday, but the compiler threw errors:
> 
> ../../../src/share/classes/java/text/AttributedString.java:420: error: incompatible types
>        Vector<Attribute> newRunAttributes[] = new Vector<?>[ARRAY_SIZE_INCREMENT];
>                                               ^
>  required: Vector<Attribute>[]
>  found:    Vector<?>[]

Sorry, I was not explicit.  You need a cast.  Here's a complete account:
  https://gist.github.com/1425032


>> It is probably a good idea to put a comment on most @SuppressWarnings annotations.
>> 
>> Similarly:
>> 
>> -    private static final SoftReference[] iterCache = new SoftReference[4];
>> +
>> +    @SuppressWarnings({"unchecked","rawtypes"})
>> +    private static final SoftReference<BreakIteratorCache>[] iterCache = new SoftReference[4];
>> ++    @SuppressWarnings("unchecked")
>> ++    private static final SoftReference<BreakIteratorCache>[] iterCache = new SoftReference<?>[4];
>> 
> 
> Similar error as above.

My bad!  See above.

> 
>> There is an apparent behavior change in CollationElementIterator.setOffset, in this chunk:
>> -                int c = text.setIndex(newOffset);
>> +                text.setIndexOnly(newOffset);
>> +                int c = text.current();
>> 
> 
> setIndex is deprecated, so I looked into what the method did and did it
> at the call site. Sorry, I should have specifically mentioned this
> re-factor in the original email :( 
> 
> I am fine with just suppressing deprecation warning there. I have done
> so in the new copy by adding the annotation to the method.

Right.  Don't inline the deprecated method body.  Just suppress the deprecation warning, with a comment.  (Maybe put the body expressions in a comment, for the next person who touches the code.)

>> (About 50% through.  More to come...)
>> 
> 
> (from the second email):
> 
>> Here's the rest.
>> 
>> I think the method divideUpDictionaryRange is too complex (181 LOC) to be covered by one @SuppressWarnings.  Even adding 30 annotations in the body would be better, since then the other 151 LOC would remain protected.
>> 
>> I do like the informative comment on @SuppressWarnings:
>> +    @SuppressWarnings("unchecked") // suppress unchecked warning for cloning stack
>> 
> 
> Fixed with a minor re-factor as mentioned above.

OK.  You could also have put on a cast plus @SW("unchecked").
>> 
>> This one has to be at class level; good comment:
>> + at SuppressWarnings("serial") // Adding serial ID will break compatibility. Suppress it. 
>> 
> 
> I saw Stuart's comments on this. Didn't know that there was a way to find
> existing serialid (I thought Eclipse just generated a random one)! I have added
> the class default id.

Yep.  SW("serial") seems to be the wrong thing, almost everywhere.

> New webrev:
> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.01/
> 
> For convenience, I've also uploaded a diff between previous webrev and
> new one to make it clear as to what changed:
> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.01/rev-00-01.patch
> 
> Thanks for the quick and detailed review!

It looks good to me, after you get rid of SW(rawtypes) and remove (sadly!) the named type parameters.

-- John

From john.r.rose at oracle.com  Fri Dec  2 14:19:48 2011
From: john.r.rose at oracle.com (John Rose)
Date: Fri, 2 Dec 2011 14:19:48 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <4ED9250D.7000205@univ-mlv.fr>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<20111202184726.GX2461@redhat.com> <4ED9250D.7000205@univ-mlv.fr>
Message-ID: <97CB3872-A2F2-4013-8E7A-5D97CAFC072F@oracle.com>

On Dec 2, 2011, at 11:20 AM, R?mi Forax wrote:

> It seems you still use clone,
> you can't replace a call to clone with a call to a copy constructor because
> if Stack is subclassed, clone will work but not the copy constructor.

That's true in general, but this is private code with locally created Stack instances.

>> ../../../src/share/classes/java/text/AttributedString.java:420: error: incompatible types
>>         Vector<Attribute>  newRunAttributes[] = new Vector<?>[ARRAY_SIZE_INCREMENT];
>>                                                ^
>>   required: Vector<Attribute>[]
>>   found:    Vector<?>[]
> 
> Yes, you need to add a cast,
> 
> Vector<Attribute>[] newRunAttributes = (Vector<Attribute>[])new Vector<?>[ARRAY_SIZE_INCREMENT];

Yes.  As far as I can see, that's the "best practices" way to deal with array-of-generic.

> but if Java is reified in 1.9 as state the current plan, we will be in trouble.

If the best practices have to change, then we'll have to change that code again.  Or maybe the retrofit strategy will have to take account of the existing code idioms.  In any case, we'll cross that bridge when we get to it.  (Coping with reification in this case is a decision to make tomorrow, not today.)

-- John


From john.r.rose at oracle.com  Fri Dec  2 14:20:38 2011
From: john.r.rose at oracle.com (John Rose)
Date: Fri, 2 Dec 2011 14:20:38 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <20111202193243.GY2461@redhat.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<20111202184726.GX2461@redhat.com> <4ED9250D.7000205@univ-mlv.fr>
	<20111202193243.GY2461@redhat.com>
Message-ID: <989F9845-8F24-4D19-9BC3-C6684FE0A6B3@oracle.com>

On Dec 2, 2011, at 11:32 AM, Deepak Bhole wrote:

> I see. Then perhaps it is just better to leave the code as it and keep
> the suppressions in rev 01? Or should I change it regardless and then
> let it be fixed again for 9?

Don't worry about 9 right now.  -- John

From masayoshi.okutsu at oracle.com  Fri Dec  2 14:24:24 2011
From: masayoshi.okutsu at oracle.com (Masayoshi Okutsu)
Date: Fri, 02 Dec 2011 14:24:24 -0800
Subject: Review request for IMF classes and Locale related classes
In-Reply-To: <4ED91F51.2020502@oracle.com>
References: <4ED91F51.2020502@oracle.com>
Message-ID: <4ED95018.3070808@oracle.com>

Looks good to me.

Thanks,
Masayoshi

On 2011/12/02 10:56, Naoto Sato wrote:
> Hello,
>
> Could you please review these two changesets for the WCD? One is for 
> classes that belongs to input method framework:
>
> http://cr.openjdk.java.net/~naoto/7117465/webrev.00/
>
> and the other is for (some of the) i18n related *.util.* classes:
>
> http://cr.openjdk.java.net/~naoto/7117469/webrev.00/
>
> Thanks!
> Naoto

From martijnverburg at gmail.com  Fri Dec  2 14:28:26 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Fri, 2 Dec 2011 22:28:26 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <4ED9295C.1080705@univ-mlv.fr>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED9295C.1080705@univ-mlv.fr>
Message-ID: <CAP7YuAQuEBFuvL8+hsw48wn_vsTYppDdAs23ofK-TBzZ2UG5Yg@mail.gmail.com>

Hi R?mi,

Doesn't that then use the deprecated String constructor?

Disclaimer - I was involved in that patch :)

Cheers,
Martijn

On Friday, 2 December 2011, R?mi Forax <forax at univ-mlv.fr> wrote:
> On 12/02/2011 08:24 PM, Michael Barker wrote:
>>
>> Hi,
>>
>> We had some late submissions from our hack day participants.  2 more
>> patches.  One (j.u.z.ZipEntry) is possibly a little more involved for
>> a warnings fix.  It removes a usage of deprecated Date APIs in favour
>> of Calendar.  However, the fix results in code that is very similar to
>> Apache Harmony implementation.  The other is a couple of fixes for
>> generics (j.u.j.Manifest).
>>
>> Thanks to:
>> - Prasannaa
>>
>> Regards,
>> Michael Barker
>> mikeb2701
>
> Hi Mickael,
> one change to Manifest.java introduces a bug !
>
> -                byte[] vb = value.getBytes("UTF8");
> -                value = new String(vb, 0, 0, vb.length);
> +                byte[] vb = value.getBytes(StandardCharsets.UTF_8);
> +                value = new String(vb, 0, 0, StandardCharsets.UTF_8);
>
>
> the last line should be:
> value = new String(vb, 0, 0, vb.length);
>
> cheers,
> R?mi
>

From martijnverburg at gmail.com  Fri Dec  2 14:32:02 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Fri, 2 Dec 2011 22:32:02 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <4ED92DCE.3030108@oracle.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED92DCE.3030108@oracle.com>
Message-ID: <CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>

Hi Sherman,

I think the original patch provider (Prasanna) was aiming at simply
removing the deprecation warning.  Interesting point on the performance
aspect!

Is performance for this class already measured in an OpenJDK test
somewhere?  Perhaps we could provide a test suite in this instance?

Cheers,
Martijn

On Friday, 2 December 2011, Xueming Shen <xueming.shen at oracle.com> wrote:
>
> The j.u.z.ZipEntry change should NOT be in as a warning cleanup. Will
need further
> evaluation/measurement, for example from performance point of view, the
change
> now creates a new Calendar instance instead of a Date object (Date class
uses a
> singleton BaseCalendar for the calculation, if I remember correctly) for
each invocation.
>
> -Sherman
>
> On 12/02/2011 11:24 AM, Michael Barker wrote:
>>
>> Hi,
>>
>> We had some late submissions from our hack day participants.  2 more
>> patches.  One (j.u.z.ZipEntry) is possibly a little more involved for
>> a warnings fix.  It removes a usage of deprecated Date APIs in favour
>> of Calendar.  However, the fix results in code that is very similar to
>> Apache Harmony implementation.  The other is a couple of fixes for
>> generics (j.u.j.Manifest).
>>
>> Thanks to:
>> - Prasannaa
>>
>> Regards,
>> Michael Barker
>> mikeb2701
>
>

From Lance.Andersen at oracle.com  Fri Dec  2 14:33:31 2011
From: Lance.Andersen at oracle.com (Lance Andersen - Oracle)
Date: Fri, 2 Dec 2011 17:33:31 -0500
Subject: Review request for warnings cleanup: some i18n classes in
	java.util and sun.util
In-Reply-To: <4ED94AF8.4080804@oracle.com>
References: <4ED94AF8.4080804@oracle.com>
Message-ID: <9EB42172-24B3-460C-A83D-91A7ADCFE37C@oracle.com>

This looks OK
On Dec 2, 2011, at 5:02 PM, Masayoshi Okutsu wrote:

> Here are warnings cleanup fixes for some of the i18n classes in java.util and sun.util.**.
> 
> http://cr.openjdk.java.net/~okutsu/8/7117487/webrev.00/
> 
> I made some more cleanup suggested by NetBeans (unused imports, private final, etc.) in addition to the standard compiler warnings cleanup.
> 
> Thanks,
> Masayoshi
> 


Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
Lance.Andersen at oracle.com


From martijnverburg at gmail.com  Fri Dec  2 14:34:28 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Fri, 2 Dec 2011 22:34:28 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <4ED93388.4020708@oracle.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED9295C.1080705@univ-mlv.fr>
	<CALwNKeS6ASGdgVcRNhU5zY_UQKioyS-n5BSt0=Djth3ppXr3LA@mail.gmail.com>
	<4ED93388.4020708@oracle.com>
Message-ID: <CAP7YuARiVOdfjY5vLU0htPMBCXsNcC6xbrpDKK1b60Pu5Lokog@mail.gmail.com>

Is it worth adding a comment to that code, or should that sort of
performance implication be understood by OpenJDK contributors?

I only ask because I can see myself foolishly applying the StandardCharsets
'fix' in 6 months time when I've forgotten this thread :)

Cheers,
Martijn

On Friday, 2 December 2011, Xueming Shen <xueming.shen at oracle.com> wrote:
> Mike,
>
> I would prefer to leave the "utf8" usage here un-changed.
>
> From performance point of view, String.getBytes("UTF8") is faster
> than String.getBytes(StandardCharsets.UTF_8).
>
> I have some measurement when I did the related performance work at
>
> http://cr.openjdk.java.net/~sherman/7040220/client
> http://cr.openjdk.java.net/~sherman/7040220/server
>
> #String.getBytes() is the "encoding".
>
>
> -Sherman
>
> On 12/02/2011 12:02 PM, Michael Barker wrote:
>>>
>>> one change to Manifest.java introduces a bug !
>>>
>>> -                byte[] vb = value.getBytes("UTF8");
>>> -                value = new String(vb, 0, 0, vb.length);
>>> +                byte[] vb = value.getBytes(StandardCharsets.UTF_8);
>>> +                value = new String(vb, 0, 0, StandardCharsets.UTF_8);
>>>
>>>
>>> the last line should be:
>>> value = new String(vb, 0, 0, vb.length);
>>
>> Cheers, good spot.  I've attached an updated patch.
>>
>> Mike.
>
>

From brian.goetz at oracle.com  Fri Dec  2 14:41:57 2011
From: brian.goetz at oracle.com (Brian Goetz)
Date: Fri, 02 Dec 2011 17:41:57 -0500
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <4ED9250D.7000205@univ-mlv.fr>
References: <20111201231919.GQ2461@redhat.com>	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>	<20111202184726.GX2461@redhat.com>
	<4ED9250D.7000205@univ-mlv.fr>
Message-ID: <4ED95435.4000509@oracle.com>

> but if Java is reified in 1.9 as state the current plan, we will be in
> trouble.

To be clear, there is no "current plan" for Java 9.  At JavaOne and 
Devoxx, Mark outlined a list of "possible things to look at" in future 
versions of Java, and reification was on that list.


From mandy.chung at oracle.com  Fri Dec  2 14:45:13 2011
From: mandy.chung at oracle.com (Mandy Chung)
Date: Fri, 02 Dec 2011 14:45:13 -0800
Subject: Warnings cleanup in java.lang.instrument, java.lang.management
	(late entry)
In-Reply-To: <d90afbb5-80ce-437f-974a-473e658c9aee@zmail13.collab.prod.int.phx2.redhat.com>
References: <d90afbb5-80ce-437f-974a-473e658c9aee@zmail13.collab.prod.int.phx2.redhat.com>
Message-ID: <4ED954F9.5080109@oracle.com>

On 12/2/2011 1:11 PM, Jon VanAlten wrote:
> Hi,
>
> This set is quite trivial, seemed almost not worth a webrev, but nonetheless:
>
> http://icedtea.classpath.org/~vanaltj/webrevs/javalangwarnings/
>
Thanks for the fix.  I can sponsor this trivial one.


> I did make use of one @SuppressWarnings("unchecked") annotation;
PlatformComponent.java
   L386: this can be replaced by calling the getMXBeans(mxbeanInterface)
   method that does the cast and with unchecked warning suppressed.

ClassDefinition.java
   L43: nit: the variable name was aligned with L48 and I will fix
   the formatting to get the name realigned.

>   the same cause for this warning was being suppressed elsewhere in the file and it looked like it would be a messy refactor to do otherwise, if indeed it would even be possible.
>

There are two unchecked warning suppressed in PlatformComponent.java
which are safe.  What do you have in mind for the refactoring
to eliminate these two @SuppressWarnings?  I may be missing
something but I don't see what refactoring can help.  Anyway,
this trivial fix will get rid of a few warnings.  Thanks.


> Comments?  Would anyone like to create a bug and sponsor this set?
>
7117585 Eliminate java.lang.instrument, java.lang.management warnings

Mandy


From stuart.marks at oracle.com  Fri Dec  2 14:52:19 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Fri, 02 Dec 2011 14:52:19 -0800
Subject: Review Request for 7116993 (warning cleanup java.applet)
In-Reply-To: <4ED899B4.7000207@oracle.com>
References: <4ED7E98F.3040200@oracle.com> <4ED7EE3E.6020109@oracle.com>
	<4ED899B4.7000207@oracle.com>
Message-ID: <4ED956A3.80006@oracle.com>

Hi Artem,

It turns out that Danesh Dadachanji had also been working on java.applet. The 
changes are identical, so there's no conflict.

Is it OK if this change goes into the TL forest? If so, I can handle the push. 
Otherwise we'll to figure out something else.

s'marks

On 12/2/11 1:26 AM, Artem Ananiev wrote:
>
> I haven't seen anyone else working on java.applet. Your webrev looks fine.
>
> Thanks,
>
> Artem
>
> On 12/2/2011 1:14 AM, Brandon Passanisi wrote:
>> I'll withdraw this review request as I was notified by Xiomara that
>> someone else has been working on java.applet. I had sent an e-mail to
>> the alias yesterday about taking on java.applet though. Luckily, there
>> aren't many warnings in java.applet.
>>
>> On 12/1/2011 12:54 PM, Brandon Passanisi wrote:
>>> I have a webrev pertaining to the warning cleanup changes for
>>> java.applet ready for review. Here's the info:
>>>
>>> Bug: 7116993
>>> Webrev:
>>> http://cr.openjdk.java.net/~dmocek/bpassanisi/7116993/webrev.00/
>>> <http://cr.openjdk.java.net/%7Edmocek/bpassanisi/7116993/webrev.00/>
>>>
>>> Thanks.
>>

From naoto.sato at oracle.com  Fri Dec  2 15:03:08 2011
From: naoto.sato at oracle.com (Naoto Sato)
Date: Fri, 02 Dec 2011 15:03:08 -0800
Subject: Review request for warnings cleanup: some i18n classes in
	java.util and sun.util
In-Reply-To: <4ED94AF8.4080804@oracle.com>
References: <4ED94AF8.4080804@oracle.com>
Message-ID: <4ED9592C.90701@oracle.com>

Looks good to me.

Naoto

On 12/2/11 2:02 PM, Masayoshi Okutsu wrote:
> Here are warnings cleanup fixes for some of the i18n classes in
> java.util and sun.util.**.
>
> http://cr.openjdk.java.net/~okutsu/8/7117487/webrev.00/
>
> I made some more cleanup suggested by NetBeans (unused imports, private
> final, etc.) in addition to the standard compiler warnings cleanup.
>
> Thanks,
> Masayoshi
>


From kurchi.subhra.hazra at oracle.com  Fri Dec  2 15:09:56 2011
From: kurchi.subhra.hazra at oracle.com (Kurchi Hazra)
Date: Fri, 02 Dec 2011 15:09:56 -0800
Subject: Review Request: Warnings cleanup in sun.management and its subpackages
Message-ID: <4ED95AC4.2090905@oracle.com>

Hi,

http://cr.openjdk.java.net/~khazra/7117570/webrev.00/

    Please review this webrev that cleans warnings in sun.management and 
its subpackages. These packages are now warning-free I believe.

    Looking forward to your comments. I have used the serialver tool to 
generate all the serial version UIDs that I have added.



Thanks,

Kurchi


From martijnverburg at gmail.com  Fri Dec  2 15:12:37 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Fri, 2 Dec 2011 23:12:37 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <CAP7YuAQuEBFuvL8+hsw48wn_vsTYppDdAs23ofK-TBzZ2UG5Yg@mail.gmail.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED9295C.1080705@univ-mlv.fr>
	<CAP7YuAQuEBFuvL8+hsw48wn_vsTYppDdAs23ofK-TBzZ2UG5Yg@mail.gmail.com>
Message-ID: <CAP7YuASCthRPC1M_ndJ=iRW_HKM41zLqaf+oCnv4Vs-4sOWy9w@mail.gmail.com>

Hi Remi,

Sorry, was on my phone earlier - so to clarify, I swapped:

String(byte[] ascii, int hibyte, int offset, int count)

to

String(byte[] bytes, int offset, int length, String charsetName)

The reasoning was that I didn't think the count had any actual value
in this call and from the deprecated warning on the first constructor:

"This method does not properly convert bytes into characters. As of
JDK 1.1, the preferred way to do this is via the String constructors
that take a Charset, charset name, or that use the platform's default
charset."

Hmm, I can't see another 'safe' constructor that takes a byte[] and a
count.  Is there another recommended way around this?

Cheers,
Martijn

On 2 December 2011 22:28, Martijn Verburg <martijnverburg at gmail.com> wrote:
> Hi R?mi,
>
> Doesn't that then use the deprecated String constructor?
>
> Disclaimer - I was involved in that patch :)
>
> Cheers,
> Martijn
>
>
> On Friday, 2 December 2011, R?mi Forax <forax at univ-mlv.fr> wrote:
>> On 12/02/2011 08:24 PM, Michael Barker wrote:
>>>
>>> Hi,
>>>
>>> We had some late submissions from our hack day participants. ?2 more
>>> patches. ?One (j.u.z.ZipEntry) is possibly a little more involved for
>>> a warnings fix. ?It removes a usage of deprecated Date APIs in favour
>>> of Calendar. ?However, the fix results in code that is very similar to
>>> Apache Harmony implementation. ?The other is a couple of fixes for
>>> generics (j.u.j.Manifest).
>>>
>>> Thanks to:
>>> - Prasannaa
>>>
>>> Regards,
>>> Michael Barker
>>> mikeb2701
>>
>> Hi Mickael,
>> one change to Manifest.java introduces a bug !
>>
>> - ? ? ? ? ? ? ? ?byte[] vb = value.getBytes("UTF8");
>> - ? ? ? ? ? ? ? ?value = new String(vb, 0, 0, vb.length);
>> + ? ? ? ? ? ? ? ?byte[] vb = value.getBytes(StandardCharsets.UTF_8);
>> + ? ? ? ? ? ? ? ?value = new String(vb, 0, 0, StandardCharsets.UTF_8);
>>
>>
>> the last line should be:
>> value = new String(vb, 0, 0, vb.length);
>>
>> cheers,
>> R?mi
>>

From xueming.shen at oracle.com  Fri Dec  2 15:18:03 2011
From: xueming.shen at oracle.com (Xueming Shen)
Date: Fri, 02 Dec 2011 15:18:03 -0800
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>	<4ED92DCE.3030108@oracle.com>
	<CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>
Message-ID: <4ED95CAB.3030505@oracle.com>

On 12/02/2011 02:32 PM, Martijn Verburg wrote:
> Hi Sherman,
>
> I think the original patch provider (Prasanna) was aiming at simply 
> removing the deprecation warning.  Interesting point on the 
> performance aspect!
>
> Is performance for this class already measured in an OpenJDK test 
> somewhere?  Perhaps we could provide a test suite in this instance?

Hi Martijn,

No, I don't think we have a benchmark test case anywhere in OpenJDK to 
measure
this performance. I happened to take a quick look at the "calculation 
cost" of
dosToJavaTime() last month when working on that jar n-thread performance 
issue.

Here is a the result of a quick/dirty "non-benchmark" benchmark test 
case, which
suggests the proposed change is way too slow, this is only from the 
"speed" angle,
I would assume it probably also consumes more temporary (young-gen) memory.
So, the suggested approach appears not to be a good candidate to go in 
without
further tuning.

sherman at sherman-linux:~/Workspace/test$ java -server JavaDosTime
j2dt  :386
j2dt2 :1282
d2jt  :424
d2jt2 :1296
sherman at sherman-linux:~/Workspace/test$ java -client JavaDosTime
j2dt  :621
j2dt2 :1901
d2jt  :662
d2jt2 :2016

public class JavaDosTime {

     public static void main(String[] args) throws IOException {

         long tt0 = System.currentTimeMillis();
         int ii = 0;
         for (ii = 0; ii < 1000000; ii++) {
             long t = 10000 + ii;
             t= javaToDosTime(t);
         }
         long tt1 = System.currentTimeMillis();
         System.out.println("j2dt  :" + (tt1 - tt0));


         tt0 = System.currentTimeMillis();
         ii = 0;
         for (ii = 0; ii < 1000000; ii++) {
             long t = 10000 + ii;
             t= javaToDosTime2(t);
         }
         tt1 = System.currentTimeMillis();
         System.out.println("j2dt2 :" + (tt1 - tt0));


         tt0 = System.currentTimeMillis();
         ii = 0;
         for (ii = 0; ii < 1000000; ii++) {
             long t = 10000 + ii;
             t= dosToJavaTime(t);
         }
         tt1 = System.currentTimeMillis();
         System.out.println("d2jt  :" + (tt1 - tt0));


         tt0 = System.currentTimeMillis();
         ii = 0;
         for (ii = 0; ii < 1000000; ii++) {
             long t = 10000 + ii;
             t= dosToJavaTime2(t);
         }
         tt1 = System.currentTimeMillis();
         System.out.println("d2jt2 :" + (tt1 - tt0));

     }

     private static long javaToDosTime(long time){
         Date d = new Date(time);
         int year = d.getYear() + 1900;
         if (year < 1980) {
             return (1 << 21) | (1 << 16);
         }
         return (year - 1980) << 25 | (d.getMonth() + 1) << 21 |
                d.getDate() << 16 | d.getHours() << 11 | d.getMinutes() 
<< 5 |
                d.getSeconds() >> 1;
     }

     private static long javaToDosTime2(long time){
         Calendar cal = Calendar.getInstance();
         cal.setTimeInMillis(time);
         int year = cal.get(Calendar.YEAR);
         if (year < 1980) {
             return (1 << 21) | (1 << 16);
         }
         int month = cal.get(Calendar.MONTH) + 1;
         return (year - 1980) << 25
                 | month << 21
                 | cal.get(Calendar.DAY_OF_MONTH) << 16
                 | cal.get(Calendar.HOUR_OF_DAY) << 11
                 | cal.get(Calendar.MINUTE) << 5
                 | cal.get(Calendar.SECOND) >> 1;
      }

      private static long dosToJavaTime(long dtime) {
         Date d = new Date((int)(((dtime >> 25) & 0x7f) + 80),
                           (int)(((dtime >> 21) & 0x0f) - 1),
                           (int)((dtime >> 16) & 0x1f),
                           (int)((dtime >> 11) & 0x1f),
                           (int)((dtime >> 5) & 0x3f),
                           (int)((dtime << 1) & 0x3e));
         return d.getTime();
      }

      private static long dosToJavaTime2(long dtime) {
      Calendar cal = Calendar.getInstance();
      cal.set(Calendar.YEAR, (int) ((dtime >> 25) & 0x7f) + 1980);
      cal.set(Calendar.MONTH, (int) ((dtime >> 21) & 0x0f) - 1);
      cal.set(Calendar.DATE, (int) (dtime >> 16) & 0x1f);
      cal.set(Calendar.HOUR_OF_DAY, (int) (dtime >> 11) & 0x1f);
      cal.set(Calendar.MINUTE, (int) (dtime >> 5) & 0x3f);
      cal.set(Calendar.SECOND, (int) (dtime << 1) & 0x3e);
          return cal.getTimeInMillis();
      }

}





>
> Cheers,
> Martijn
>
> On Friday, 2 December 2011, Xueming Shen <xueming.shen at oracle.com 
> <mailto:xueming.shen at oracle.com>> wrote:
> >
> > The j.u.z.ZipEntry change should NOT be in as a warning cleanup. 
> Will need further
> > evaluation/measurement, for example from performance point of view, 
> the change
> > now creates a new Calendar instance instead of a Date object (Date 
> class uses a
> > singleton BaseCalendar for the calculation, if I remember correctly) 
> for each invocation.
> >
> > -Sherman
> >
> > On 12/02/2011 11:24 AM, Michael Barker wrote:
> >>
> >> Hi,
> >>
> >> We had some late submissions from our hack day participants.  2 more
> >> patches.  One (j.u.z.ZipEntry) is possibly a little more involved for
> >> a warnings fix.  It removes a usage of deprecated Date APIs in favour
> >> of Calendar.  However, the fix results in code that is very similar to
> >> Apache Harmony implementation.  The other is a couple of fixes for
> >> generics (j.u.j.Manifest).
> >>
> >> Thanks to:
> >> - Prasannaa
> >>
> >> Regards,
> >> Michael Barker
> >> mikeb2701
> >
> > 


From jon.vanalten at redhat.com  Fri Dec  2 15:30:37 2011
From: jon.vanalten at redhat.com (Jon VanAlten)
Date: Fri, 02 Dec 2011 18:30:37 -0500 (EST)
Subject: Warnings cleanup in java.lang.instrument,
	java.lang.management	(late entry)
In-Reply-To: <4ED954F9.5080109@oracle.com>
Message-ID: <98c306b7-3b68-42a1-8503-079e47cc7694@zmail13.collab.prod.int.phx2.redhat.com>

Hi,

----- Original Message -----
> From: "Mandy Chung" <mandy.chung at oracle.com>
> To: jdk8-dev at openjdk.java.net
> Sent: Friday, December 2, 2011 5:45:13 PM
> Subject: Re: Warnings cleanup in java.lang.instrument, java.lang.management	(late entry)
> 
> On 12/2/2011 1:11 PM, Jon VanAlten wrote:
> > Hi,
> >
> > This set is quite trivial, seemed almost not worth a webrev, but
> > nonetheless:
> >
> > http://icedtea.classpath.org/~vanaltj/webrevs/javalangwarnings/
> >
> Thanks for the fix.  I can sponsor this trivial one.
> 

Great, and thanks for looking at it!

> 
> > I did make use of one @SuppressWarnings("unchecked") annotation;
> PlatformComponent.java
>    L386: this can be replaced by calling the
>    getMXBeans(mxbeanInterface)
>    method that does the cast and with unchecked warning suppressed.
> 

Ah, good idea.

> ClassDefinition.java
>    L43: nit: the variable name was aligned with L48 and I will fix
>    the formatting to get the name realigned.
> 

I didn't notice the intentional alignment, sorry.

> >   the same cause for this warning was being suppressed elsewhere in
> >   the file and it looked like it would be a messy refactor to do
> >   otherwise, if indeed it would even be possible.
> >
> 
> There are two unchecked warning suppressed in PlatformComponent.java
> which are safe.  What do you have in mind for the refactoring
> to eliminate these two @SuppressWarnings?  I may be missing
> something but I don't see what refactoring can help.  Anyway,
> this trivial fix will get rid of a few warnings.  Thanks.
> 

TBH, I hadn't really thought much on it.  You are probably right that
there is no good way to help it.

For completeness, I've updated webrev:
http://icedtea.classpath.org/~vanaltj/webrevs/javalangwarnings/

Thanks,
jon
 

From stuart.marks at oracle.com  Fri Dec  2 15:32:21 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Fri, 02 Dec 2011 15:32:21 -0800
Subject: Review request for IMF classes and Locale related classes
In-Reply-To: <4ED95018.3070808@oracle.com>
References: <4ED91F51.2020502@oracle.com> <4ED95018.3070808@oracle.com>
Message-ID: <4ED96005.3000709@oracle.com>

Hi Naoto,

A couple comments.

java/util/Currency.java --

The @SuppressWarnings covers the entire method. We're trying to use 
@SuppressWarnings with as narrow a scope as possible. Sometimes it's helpful to 
create a local variable declaration for this purpose; perhaps something like 
this will help:

     @SuppressedWarnings("unchecked")
     Set<Currency> result = (Set<Currency>) available.clone();
     return result;

You can probably do something similar in 
sun/util/LocaleServiceProviderPool.java in the getLocalizedObjectImpl() method.

The suppression of warnings on the static AllAvailableLocales class is a bit of 
a puzzle. Maybe it's OK to leave the suppression for that entire class.

s'marks


On 12/2/11 2:24 PM, Masayoshi Okutsu wrote:
> Looks good to me.
>
> Thanks,
> Masayoshi
>
> On 2011/12/02 10:56, Naoto Sato wrote:
>> Hello,
>>
>> Could you please review these two changesets for the WCD? One is for classes
>> that belongs to input method framework:
>>
>> http://cr.openjdk.java.net/~naoto/7117465/webrev.00/
>>
>> and the other is for (some of the) i18n related *.util.* classes:
>>
>> http://cr.openjdk.java.net/~naoto/7117469/webrev.00/
>>
>> Thanks!
>> Naoto

From xueming.shen at oracle.com  Fri Dec  2 15:42:08 2011
From: xueming.shen at oracle.com (Xueming Shen)
Date: Fri, 02 Dec 2011 15:42:08 -0800
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <CAP7YuASCthRPC1M_ndJ=iRW_HKM41zLqaf+oCnv4Vs-4sOWy9w@mail.gmail.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>	<4ED9295C.1080705@univ-mlv.fr>	<CAP7YuAQuEBFuvL8+hsw48wn_vsTYppDdAs23ofK-TBzZ2UG5Yg@mail.gmail.com>
	<CAP7YuASCthRPC1M_ndJ=iRW_HKM41zLqaf+oCnv4Vs-4sOWy9w@mail.gmail.com>
Message-ID: <4ED96250.4080708@oracle.com>

Martijn,

The proposed change is incorrect.

+  value = new String(vb, 0, 0, StandardCharsets.UTF_8);

First, shouldn't it at least be

value = new String(vb, StandardCharsets.UTF_8);

  or

value = new String(vb, 0, vb.length, StandardCharsets.UTF_8);

Second, the "value" will be written out via dos.writeBytes(String) 
later, which only
takes the low-byte of a each char of the target String object.

That "not properly" conversion is actually what we need here to make 
sure the
output will be correctly in utf8. The only "reliable" replacement might 
be to use
"iso8859-1" (not utf_8), but I would recommend keep it un-touched.

-Sherman


On 12/02/2011 03:12 PM, Martijn Verburg wrote:
> Hi Remi,
>
> Sorry, was on my phone earlier - so to clarify, I swapped:
>
> String(byte[] ascii, int hibyte, int offset, int count)
>
> to
>
> String(byte[] bytes, int offset, int length, String charsetName)
>
> The reasoning was that I didn't think the count had any actual value
> in this call and from the deprecated warning on the first constructor:
>
> "This method does not properly convert bytes into characters. As of
> JDK 1.1, the preferred way to do this is via the String constructors
> that take a Charset, charset name, or that use the platform's default
> charset."
>
> Hmm, I can't see another 'safe' constructor that takes a byte[] and a
> count.  Is there another recommended way around this?
>
> Cheers,
> Martijn
>
> On 2 December 2011 22:28, Martijn Verburg<martijnverburg at gmail.com>  wrote:
>> Hi R?mi,
>>
>> Doesn't that then use the deprecated String constructor?
>>
>> Disclaimer - I was involved in that patch :)
>>
>> Cheers,
>> Martijn
>>
>>
>> On Friday, 2 December 2011, R?mi Forax<forax at univ-mlv.fr>  wrote:
>>> On 12/02/2011 08:24 PM, Michael Barker wrote:
>>>> Hi,
>>>>
>>>> We had some late submissions from our hack day participants.  2 more
>>>> patches.  One (j.u.z.ZipEntry) is possibly a little more involved for
>>>> a warnings fix.  It removes a usage of deprecated Date APIs in favour
>>>> of Calendar.  However, the fix results in code that is very similar to
>>>> Apache Harmony implementation.  The other is a couple of fixes for
>>>> generics (j.u.j.Manifest).
>>>>
>>>> Thanks to:
>>>> - Prasannaa
>>>>
>>>> Regards,
>>>> Michael Barker
>>>> mikeb2701
>>> Hi Mickael,
>>> one change to Manifest.java introduces a bug !
>>>
>>> -                byte[] vb = value.getBytes("UTF8");
>>> -                value = new String(vb, 0, 0, vb.length);
>>> +                byte[] vb = value.getBytes(StandardCharsets.UTF_8);
>>> +                value = new String(vb, 0, 0, StandardCharsets.UTF_8);
>>>
>>>
>>> the last line should be:
>>> value = new String(vb, 0, 0, vb.length);
>>>
>>> cheers,
>>> R?mi
>>>


From naoto.sato at oracle.com  Fri Dec  2 16:00:42 2011
From: naoto.sato at oracle.com (Naoto Sato)
Date: Fri, 02 Dec 2011 16:00:42 -0800
Subject: Review request for IMF classes and Locale related classes
In-Reply-To: <4ED96005.3000709@oracle.com>
References: <4ED91F51.2020502@oracle.com> <4ED95018.3070808@oracle.com>
	<4ED96005.3000709@oracle.com>
Message-ID: <4ED966AA.2010701@oracle.com>

Hi Stuart,

Thank you for your comments. Here is the updated webrev reflecting your 
suggestions. Please review:

http://cr.openjdk.java.net/~naoto/7117469/webrev.01/

Naoto


On 12/2/11 3:32 PM, Stuart Marks wrote:
> Hi Naoto,
>
> A couple comments.
>
> java/util/Currency.java --
>
> The @SuppressWarnings covers the entire method. We're trying to use
> @SuppressWarnings with as narrow a scope as possible. Sometimes it's
> helpful to create a local variable declaration for this purpose; perhaps
> something like this will help:
>
> @SuppressedWarnings("unchecked")
> Set<Currency> result = (Set<Currency>) available.clone();
> return result;
>
> You can probably do something similar in
> sun/util/LocaleServiceProviderPool.java in the getLocalizedObjectImpl()
> method.
>
> The suppression of warnings on the static AllAvailableLocales class is a
> bit of a puzzle. Maybe it's OK to leave the suppression for that entire
> class.
>
> s'marks
>
>
> On 12/2/11 2:24 PM, Masayoshi Okutsu wrote:
>> Looks good to me.
>>
>> Thanks,
>> Masayoshi
>>
>> On 2011/12/02 10:56, Naoto Sato wrote:
>>> Hello,
>>>
>>> Could you please review these two changesets for the WCD? One is for
>>> classes
>>> that belongs to input method framework:
>>>
>>> http://cr.openjdk.java.net/~naoto/7117465/webrev.00/
>>>
>>> and the other is for (some of the) i18n related *.util.* classes:
>>>
>>> http://cr.openjdk.java.net/~naoto/7117469/webrev.00/
>>>
>>> Thanks!
>>> Naoto


From xiomara.jayasena at oracle.com  Fri Dec  2 16:06:39 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Fri, 2 Dec 2011 16:06:39 -0800 (PST)
Subject: Request for Review: Warnings cleanup in java.lang.*, java.util.**
In-Reply-To: <4ED9042D.3000307@redhat.com>
References: <CAGVnyzRNvKDpSN-TuKRDg+ckKEZcQj-EfLUnt1Ayfse0PeDk6g@mail.gmail.com>
	<4ED8C221.7070603@oracle.com 4ED9042D.3000307@redhat.com>
Message-ID: <c7fb40dd-5827-484f-88bc-5229ec48f8d8@default>

Omair / Danesh,

Here are the bug IDs:
7117605 Danesh 
7117612 Omair 

Wiki has been updated.
http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29

-Xiomara


> -----Original Message-----
> From: Omair Majid [mailto:omajid at redhat.com]
> Sent: Friday, December 02, 2011 9:00 AM
> To: Alan Bateman
> Cc: jdk8-dev at openjdk.java.net; core-libs-dev
> Subject: Re: Request for Review: Warnings cleanup in java.lang.*,
> java.util.**
> 
> Hi,
> 
> On 12/02/2011 07:18 AM, Alan Bateman wrote:
> >
> > cc'ing core-libs-dev as that is the place to discuss these changes. I
> > see on the sign-up sheet [1] that omajid has signed up for java.lang,
> > maybe you are working together?
> 
> Unfortunately, David and I were not working together :(
> 
> Anyway, here is my webrev for java.lang.*
> http://cr.openjdk.java.net/~omajid/webrevs/warnings-day-2011/01/
> 
> Sorry about the delay, building and testing this took longer than I had
> expected it to. Also, this patch only addresses the warnings pointed
> out by javac.
> 
> The classes java.lang.ThreadLocal and java.lang.ClassValue are not
> included in the webrev. The fixes for ThreadLocal were basically
> sprinkling @SuppressWarnings("unchecked") throughout and the fixes for
> ClassValue looked slightly more complex when I tried to reduce the use
> of rawtypes. I will post a separate webrev for those later.
> 
> Cheers,
> Omair

From john.r.rose at oracle.com  Fri Dec  2 16:16:33 2011
From: john.r.rose at oracle.com (John Rose)
Date: Fri, 2 Dec 2011 16:16:33 -0800
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED92DCE.3030108@oracle.com>
	<CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>
Message-ID: <A7D3CAED-1D38-4D3E-8855-CE3318DE327F@oracle.com>

On Dec 2, 2011, at 2:32 PM, Martijn Verburg wrote:

> I think the original patch provider (Prasanna) was aiming at simply
> removing the deprecation warning.  Interesting point on the performance
> aspect!

Presently we are aiming at removing warnings with no changes to semantics (i.e., bytecodes).

I'll risk stating the obvious:  If we have 900 warnings removals, and 30 of them remove warnings by changing code (to call a non-deprecated API element), and 1 of those 30 introduces a bug, we have put the 900 removals at risk, because we have made it much harder for the integrator to batch the warning changes.

So let's try to keep the deprecated call and suppress the deprecation.  (There may be an exception, of course; that's when reviews help.)

And (this is equally important) comment the @SuppressWarnings() with the relevant information.

        @SuppressWarnings("deprecation")  // String(byte[],int) in String has been deprecated
        // and this is actually useful because alskjdflsadkfjasl
        String x = new String(new byte[0], 0);

Thanks!

-- John

From dl at cs.oswego.edu  Fri Dec  2 16:30:46 2011
From: dl at cs.oswego.edu (Doug Lea)
Date: Fri, 02 Dec 2011 19:30:46 -0500
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <A7D3CAED-1D38-4D3E-8855-CE3318DE327F@oracle.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>	<4ED92DCE.3030108@oracle.com>	<CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>
	<A7D3CAED-1D38-4D3E-8855-CE3318DE327F@oracle.com>
Message-ID: <4ED96DB6.2060609@cs.oswego.edu>

On 12/02/11 19:16, John Rose wrote:

> Presently we are aiming at removing warnings with no changes to semantics
> (i.e., bytecodes).

Note that this is at odds with suggestions such as:

> java/util/Currency.java --
>
> The @SuppressWarnings covers the entire method. We're trying to use
> @SuppressWarnings with as narrow a scope as possible. Sometimes it's helpful to
> create a local variable declaration for this purpose; perhaps something like
> this will help:
>
> @SuppressedWarnings("unchecked")
> Set<Currency> result = (Set<Currency>) available.clone();
> return result;

This generates two more bytecodes and a local variable.
This won't matter when the code is actually JIT-compiled, but
the increased size might inhibit inlining or compilation.
Surely it doesn't matter in this class, but we are very careful
about these and many related issues in performance-sensitive
java.util.concurrent code.

Too bad you cannot place annotations on expressions.

Also too bad that javac doesn't do trivial optimizations.

-Doug


From mandy.chung at oracle.com  Fri Dec  2 16:32:11 2011
From: mandy.chung at oracle.com (Mandy Chung)
Date: Fri, 02 Dec 2011 16:32:11 -0800
Subject: Warnings cleanup in java.lang.instrument, java.lang.management
	(late entry)
In-Reply-To: <98c306b7-3b68-42a1-8503-079e47cc7694@zmail13.collab.prod.int.phx2.redhat.com>
References: <98c306b7-3b68-42a1-8503-079e47cc7694@zmail13.collab.prod.int.phx2.redhat.com>
Message-ID: <4ED96E0B.7070809@oracle.com>

On 12/2/11 3:30 PM, Jon VanAlten wrote:
> For completeness, I've updated webrev:
> http://icedtea.classpath.org/~vanaltj/webrevs/javalangwarnings/

Thanks.  Your changeset is pushed:

http://hg.openjdk.java.net/jdk8/tl/jdk/rev/98502d7a3f98

Mandy

From xiomara.jayasena at oracle.com  Fri Dec  2 16:45:54 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Fri, 2 Dec 2011 16:45:54 -0800 (PST)
Subject: Warning fixes in JDI
Message-ID: <82e56dd1-28a4-4cc9-a888-340c364ec82c@default>

FYI, Jim's web rev for his changes is  here:
http://cr.openjdk.java.net/~jjh/7117053-FixSomeJDIWarnings/

and fixes about 300 warnings.  His changes have already been partially reviewed and  he is already got someone looking at the rest of this.

-Xiomara

From john.r.rose at oracle.com  Fri Dec  2 16:49:58 2011
From: john.r.rose at oracle.com (John Rose)
Date: Fri, 2 Dec 2011 16:49:58 -0800
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <4ED96DB6.2060609@cs.oswego.edu>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>	<4ED92DCE.3030108@oracle.com>	<CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>
	<A7D3CAED-1D38-4D3E-8855-CE3318DE327F@oracle.com>
	<4ED96DB6.2060609@cs.oswego.edu>
Message-ID: <4EBA5EF4-BFAB-4A3D-BD9E-C860CAA1231E@oracle.com>

On Dec 2, 2011, at 4:30 PM, Doug Lea wrote:

> On 12/02/11 19:16, John Rose wrote:
> 
>> Presently we are aiming at removing warnings with no changes to semantics
>> (i.e., bytecodes).
> 
> Note that this is at odds with suggestions such as:
> 
>> java/util/Currency.java --
>> 
>> The @SuppressWarnings covers the entire method. We're trying to use
>> @SuppressWarnings with as narrow a scope as possible. Sometimes it's helpful to
>> create a local variable declaration for this purpose; perhaps something like
>> this will help:
>> 
>> @SuppressedWarnings("unchecked")
>> Set<Currency> result = (Set<Currency>) available.clone();
>> return result;
> 
> This generates two more bytecodes and a local variable.
> This won't matter when the code is actually JIT-compiled, but
> the increased size might inhibit inlining or compilation.
> Surely it doesn't matter in this class, but we are very careful
> about these and many related issues in performance-sensitive
> java.util.concurrent code.

Good point; thanks.

Conflicting requirements are the spice of engineering life.

If you remove 900 warnings, there is a good chance of causing some sort of bug. ( http://blogs.oracle.com/jrose/entry/three_software_proverbs )

The 900 warnings may be masking other bugs, so we take the risk.

-- John

P.S.

> Too bad you cannot place annotations on expressions.
> 
> Also too bad that javac doesn't do trivial optimizations.

I agree.

And, too bad that our (C2) inline heuristics are so rigid.  I'm embarrassed that they count stupid stuff like unreached code (disabled asserts, throws) and data motion just as much as field and method uses.  How long have we known about this...?  The hard part about such a heuristic is that once entrenched it defends itself viciously, by taking all your benchmarks hostage.

From stuart.marks at oracle.com  Fri Dec  2 17:41:13 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Fri, 02 Dec 2011 17:41:13 -0800
Subject: Review request for IMF classes and Locale related classes
In-Reply-To: <4ED966AA.2010701@oracle.com>
References: <4ED91F51.2020502@oracle.com> <4ED95018.3070808@oracle.com>
	<4ED96005.3000709@oracle.com> <4ED966AA.2010701@oracle.com>
Message-ID: <4ED97E39.1050504@oracle.com>

The changes you made are good, thanks.

I did figure out how to deal with the static initializer in AllAvailableLocales:

         @SuppressWarnings({"unchecked"})
         Class<? extends LocaleServiceProvider>[] providerClasses =
                 (Class<? extends LocaleServiceProvider>[]) new Class<?>[] {
             java.text.spi.BreakIteratorProvider.class,
             ...
         };

This is a bit uglier but it does reduce the scope of warnings suppression.

I think you might be able to get rid of the wildcards, too:

         @SuppressWarnings({"unchecked"})
         Class<LocaleServiceProvider>[] providerClasses =
                 (Class<LocaleServiceProvider>[]) new Class<?>[] {
             java.text.spi.BreakIteratorProvider.class,
             ...
         };
         ...
         for (Class<LocaleServiceProvider> providerClass : providerClasses) {
             ...
         }

I'm not entirely sure why this works, but it seems to compile for me without 
warnings or errors....

s'marks



On 12/2/11 4:00 PM, Naoto Sato wrote:
> Hi Stuart,
>
> Thank you for your comments. Here is the updated webrev reflecting your
> suggestions. Please review:
>
> http://cr.openjdk.java.net/~naoto/7117469/webrev.01/
>
> Naoto
>
>
> On 12/2/11 3:32 PM, Stuart Marks wrote:
>> Hi Naoto,
>>
>> A couple comments.
>>
>> java/util/Currency.java --
>>
>> The @SuppressWarnings covers the entire method. We're trying to use
>> @SuppressWarnings with as narrow a scope as possible. Sometimes it's
>> helpful to create a local variable declaration for this purpose; perhaps
>> something like this will help:
>>
>> @SuppressedWarnings("unchecked")
>> Set<Currency> result = (Set<Currency>) available.clone();
>> return result;
>>
>> You can probably do something similar in
>> sun/util/LocaleServiceProviderPool.java in the getLocalizedObjectImpl()
>> method.
>>
>> The suppression of warnings on the static AllAvailableLocales class is a
>> bit of a puzzle. Maybe it's OK to leave the suppression for that entire
>> class.
>>
>> s'marks
>>
>>
>> On 12/2/11 2:24 PM, Masayoshi Okutsu wrote:
>>> Looks good to me.
>>>
>>> Thanks,
>>> Masayoshi
>>>
>>> On 2011/12/02 10:56, Naoto Sato wrote:
>>>> Hello,
>>>>
>>>> Could you please review these two changesets for the WCD? One is for
>>>> classes
>>>> that belongs to input method framework:
>>>>
>>>> http://cr.openjdk.java.net/~naoto/7117465/webrev.00/
>>>>
>>>> and the other is for (some of the) i18n related *.util.* classes:
>>>>
>>>> http://cr.openjdk.java.net/~naoto/7117469/webrev.00/
>>>>
>>>> Thanks!
>>>> Naoto
>

From xiomara.jayasena at oracle.com  Fri Dec  2 18:15:56 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Fri, 2 Dec 2011 18:15:56 -0800 (PST)
Subject: OpenJDK Mailing Lists
Message-ID: <66f32caa-3f98-47f2-b28c-d47b46872889@default>

Hi,

This page contains a listing of the OpenJDK mailing list for each of the areas of development.  
http://mail.openjdk.java.net/mailman/listinfo

There you will find instructions to subscribe.

-Xiomara

From stuart.marks at oracle.com  Fri Dec  2 18:38:22 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Fri, 02 Dec 2011 18:38:22 -0800
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <4EBA5EF4-BFAB-4A3D-BD9E-C860CAA1231E@oracle.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>	<4ED92DCE.3030108@oracle.com>	<CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>
	<A7D3CAED-1D38-4D3E-8855-CE3318DE327F@oracle.com>
	<4ED96DB6.2060609@cs.oswego.edu>
	<4EBA5EF4-BFAB-4A3D-BD9E-C860CAA1231E@oracle.com>
Message-ID: <4ED98B9E.2040101@oracle.com>

On 12/2/11 4:49 PM, John Rose wrote:
> On Dec 2, 2011, at 4:30 PM, Doug Lea wrote:
>> On 12/02/11 19:16, John Rose wrote:
>>> Presently we are aiming at removing warnings with no changes to semantics
>>> (i.e., bytecodes).
>>
>> Note that this is at odds with suggestions such as:
>>
>>> java/util/Currency.java --
>>>
>>> The @SuppressWarnings covers the entire method. We're trying to use
>>> @SuppressWarnings with as narrow a scope as possible. Sometimes it's helpful to
>>> create a local variable declaration for this purpose; perhaps something like
>>> this will help:
>>>
>>> @SuppressedWarnings("unchecked")
>>> Set<Currency>  result = (Set<Currency>) available.clone();
>>> return result;
>>
>> This generates two more bytecodes and a local variable.
>> This won't matter when the code is actually JIT-compiled, but
>> the increased size might inhibit inlining or compilation.
>> Surely it doesn't matter in this class, but we are very careful
>> about these and many related issues in performance-sensitive
>> java.util.concurrent code.
>
> Good point; thanks.
>
> Conflicting requirements are the spice of engineering life.
>
> If you remove 900 warnings, there is a good chance of causing some sort of bug. ( http://blogs.oracle.com/jrose/entry/three_software_proverbs )
>
> The 900 warnings may be masking other bugs, so we take the risk.

I won't make a stand on warnings fixes not changing bytecodes. This is too 
strict a requirement. As Doug pointed out (by quoting a message from me!) we 
are indeed making changes that result in different bytecodes. It's interesting 
to know that j.u.c is sensitive to bytecode changes, but most of the rest of 
the class library isn't.

I do want to ensure that the warnings fixes don't make any semantic changes. It 
should be possible to look at the source diff and determine that its semantics 
are identical. We should avoid seemingly innocuous changes such as calling the 
recommended replacement instead of a deprecated method, or upgrading to a newer 
class such as from Date to Calendar. It's very difficult to prove anything 
about such changes. John's admonition is sound here.

s'marks




From martijnverburg at gmail.com  Sat Dec  3 02:34:43 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Sat, 3 Dec 2011 10:34:43 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <A7D3CAED-1D38-4D3E-8855-CE3318DE327F@oracle.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED92DCE.3030108@oracle.com>
	<CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>
	<A7D3CAED-1D38-4D3E-8855-CE3318DE327F@oracle.com>
Message-ID: <CAP7YuAR89cJSASC0tPkyM=VNxGgE=C94_ebHon1H_1Zio7d01A@mail.gmail.com>

Hi John,

> Presently we are aiming at removing warnings with no changes to semantics
> (i.e., bytecodes).
>
> I'll risk stating the obvious: ?If we have 900 warnings removals, and 30 of
> them remove warnings by changing code (to call a non-deprecated API
> element), and 1 of those 30 introduces a bug, we have put the 900 removals
> at risk, because we have made it much harder for the integrator to batch the
> warning changes.
>
> So let's try to keep the deprecated call and suppress the deprecation.
> ?(There may be an exception, of course; that's when reviews help.)
>
> And (this is equally important) comment the @SuppressWarnings() with the
> relevant information.
>
> ? ? ? ? @SuppressWarnings("deprecation") ?//?String(byte[],int) in String
> has been deprecated
> ? ? ? ? // and this is actually useful because alskjdflsadkfjasl
> ? ? ? ??String x = new String(new byte[0], 0);

That's definitely the conclusion I've come to as well, especially
since the scope of this exercise is to remove warnings without any
possible side effects. I'm going to assume that one day in the future
there will be a sweep of @SuppressWarnings and this can be looked at
again then.

I'll re-spin a patch and pass that through Mike (my OCA should come
through soon).

Cheers,
Martijn

From martijnverburg at gmail.com  Sat Dec  3 02:37:47 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Sat, 3 Dec 2011 10:37:47 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <4ED95CAB.3030505@oracle.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED92DCE.3030108@oracle.com>
	<CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>
	<4ED95CAB.3030505@oracle.com>
Message-ID: <CAP7YuATwQXTDDytBH23KgMuC8SNv0gtNWjeHsc8fn+dk9Dz=YA@mail.gmail.com>

Hi Sherman,

Thanks for sending that through - very interesting. I'll let Prasanna
know as well, especially with regards to the performance and GC
implications, I'm kicking myself for not having picked up on at least
on of those when reviewing :(.

I'll re-spin a patch (adding a @SuppressWarnings with a comment) and
get it sent through Mike Barker.

Cheers,
Martijn

> Hi Martijn,
>
> No, I don't think we have a benchmark test case anywhere in OpenJDK to
> measure this performance. I happened to take a quick look at the
> "calculation cost" of dosToJavaTime() last month when working on that
> jar n-thread performance issue.
>
> Here is a the result of a quick/dirty "non-benchmark" benchmark test case,
> which suggests the proposed change is way too slow, this is only from the
> "speed" angle,
>
> I would assume it probably also consumes more temporary (young-gen) memory.
> So, the suggested approach appears not to be a good candidate to go in
> without further tuning.
>
> sherman at sherman-linux:~/Workspace/test$ java -server JavaDosTime
> j2dt? :386
> j2dt2 :1282
> d2jt? :424
> d2jt2 :1296
> sherman at sherman-linux:~/Workspace/test$ java -client JavaDosTime
> j2dt? :621
> j2dt2 :1901
> d2jt? :662
> d2jt2 :2016
>
> public class JavaDosTime {
>
> ??? public static void main(String[] args) throws IOException {
>
> ??????? long tt0 = System.currentTimeMillis();
> ??????? int ii = 0;
> ??????? for (ii = 0; ii < 1000000; ii++) {
> ??????????? long t = 10000 + ii;
> ??????????? t= javaToDosTime(t);
> ??????? }
> ??????? long tt1 = System.currentTimeMillis();
> ??????? System.out.println("j2dt? :" + (tt1 - tt0));
>
>
> ??????? tt0 = System.currentTimeMillis();
> ??????? ii = 0;
> ??????? for (ii = 0; ii < 1000000; ii++) {
> ??????????? long t = 10000 + ii;
> ??????????? t= javaToDosTime2(t);
> ??????? }
> ??????? tt1 = System.currentTimeMillis();
> ??????? System.out.println("j2dt2 :" + (tt1 - tt0));
>
>
> ??????? tt0 = System.currentTimeMillis();
> ??????? ii = 0;
> ??????? for (ii = 0; ii < 1000000; ii++) {
> ??????????? long t = 10000 + ii;
> ??????????? t= dosToJavaTime(t);
> ??????? }
> ??????? tt1 = System.currentTimeMillis();
> ??????? System.out.println("d2jt? :" + (tt1 - tt0));
>
>
> ??????? tt0 = System.currentTimeMillis();
> ??????? ii = 0;
> ??????? for (ii = 0; ii < 1000000; ii++) {
> ??????????? long t = 10000 + ii;
> ??????????? t= dosToJavaTime2(t);
> ??????? }
> ??????? tt1 = System.currentTimeMillis();
> ??????? System.out.println("d2jt2 :" + (tt1 - tt0));
>
> ??? }
>
> ??? private static long javaToDosTime(long time){
> ??????? Date d = new Date(time);
> ??????? int year = d.getYear() + 1900;
> ??????? if (year < 1980) {
> ??????????? return (1 << 21) | (1 << 16);
> ??????? }
> ??????? return (year - 1980) << 25 | (d.getMonth() + 1) << 21 |
> ?????????????? d.getDate() << 16 | d.getHours() << 11 | d.getMinutes() << 5
> |
> ?????????????? d.getSeconds() >> 1;
> ??? }
>
> ??? private static long javaToDosTime2(long time){
> ??????? Calendar cal = Calendar.getInstance();
> ??????? cal.setTimeInMillis(time);
> ??????? int year = cal.get(Calendar.YEAR);
> ??????? if (year < 1980) {
> ??????????? return (1 << 21) | (1 << 16);
> ??????? }
> ??????? int month = cal.get(Calendar.MONTH) + 1;
> ??????? return (year - 1980) << 25
> ??????????????? | month << 21
> ??????????????? | cal.get(Calendar.DAY_OF_MONTH) << 16
> ??????????????? | cal.get(Calendar.HOUR_OF_DAY) << 11
> ??????????????? | cal.get(Calendar.MINUTE) << 5
> ??????????????? | cal.get(Calendar.SECOND) >> 1;
> ???? }
>
> ???? private static long dosToJavaTime(long dtime) {
> ??????? Date d = new Date((int)(((dtime >> 25) & 0x7f) + 80),
> ????????????????????????? (int)(((dtime >> 21) & 0x0f) - 1),
> ????????????????????????? (int)((dtime >> 16) & 0x1f),
> ????????????????????????? (int)((dtime >> 11) & 0x1f),
> ????????????????????????? (int)((dtime >> 5) & 0x3f),
> ????????????????????????? (int)((dtime << 1) & 0x3e));
> ??????? return d.getTime();
> ???? }
>
> ???? private static long dosToJavaTime2(long dtime) {
> ??? ?Calendar cal = Calendar.getInstance();
> ??? ?cal.set(Calendar.YEAR, (int) ((dtime >> 25) & 0x7f) + 1980);
> ??? ?cal.set(Calendar.MONTH, (int) ((dtime >> 21) & 0x0f) - 1);
> ??? ?cal.set(Calendar.DATE, (int) (dtime >> 16) & 0x1f);
> ??? ?cal.set(Calendar.HOUR_OF_DAY, (int) (dtime >> 11) & 0x1f);
> ??? ?cal.set(Calendar.MINUTE, (int) (dtime >> 5) & 0x3f);
> ??? ?cal.set(Calendar.SECOND, (int) (dtime << 1) & 0x3e);
> ???????? return cal.getTimeInMillis();
>
> ???? }
> }

From Alan.Bateman at oracle.com  Sat Dec  3 03:03:06 2011
From: Alan.Bateman at oracle.com (Alan Bateman)
Date: Sat, 03 Dec 2011 11:03:06 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <4EBA5EF4-BFAB-4A3D-BD9E-C860CAA1231E@oracle.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>	<4ED92DCE.3030108@oracle.com>	<CAP7YuAT6mrTtvf0OtpOnspsAKNAvsSohR1JtBoLRW08iWz1UXQ@mail.gmail.com>
	<A7D3CAED-1D38-4D3E-8855-CE3318DE327F@oracle.com>
	<4ED96DB6.2060609@cs.oswego.edu>
	<4EBA5EF4-BFAB-4A3D-BD9E-C860CAA1231E@oracle.com>
Message-ID: <4EDA01EA.1090209@oracle.com>

On 03/12/2011 00:49, John Rose wrote:
> :
>
> If you remove 900 warnings, there is a good chance of causing some sort of bug. ( http://blogs.oracle.com/jrose/entry/three_software_proverbs )
>
> The 900 warnings may be masking other bugs, so we take the risk.
>
Alexandre (Sasha) Boulgakov spent his summer internship in Oracle this 
year working on javac warnings in the jdk repository. He contributed 
changes that whacked about 2800 warnings, mostly in the security 
classes, areas around the core libraries, and tools used in the build. 
Off-hand, I can only think of one bug that surfaced a bit later so full 
credit to Sasha and the reviewers/sponsors of his changes. I guess part 
of the reason is that a significant bulk of the changes (esp. the raw 
types warnings) didn't change the generated code. That plus if we if are 
careful with the reviews and run the tests for the area then I would 
hope that the current effort won't introduce issues either.  On the 
other hand, if we were tackling the native code warnings then it would 
be a different story.

-Alan.

From martijnverburg at gmail.com  Sat Dec  3 03:05:23 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Sat, 3 Dec 2011 11:05:23 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <4ED96250.4080708@oracle.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED9295C.1080705@univ-mlv.fr>
	<CAP7YuAQuEBFuvL8+hsw48wn_vsTYppDdAs23ofK-TBzZ2UG5Yg@mail.gmail.com>
	<CAP7YuASCthRPC1M_ndJ=iRW_HKM41zLqaf+oCnv4Vs-4sOWy9w@mail.gmail.com>
	<4ED96250.4080708@oracle.com>
Message-ID: <CAP7YuAQ0d+RO+QkX6UUPaBBb07hb1YowS_G_JN6PETyVwVkyfA@mail.gmail.com>

Hi Sherman,

In order to keep this change within the scope of the intentions of the
exercise I'm going to revert that section to what it was (I'll re-spin a
patch).  At this stage I won't add a @SuppressWarnings as I think this
should be avoidable once it's looked at again in a little more depth.

The rest follows in-line.  If this is starting to chew up your time then
please don't feel obliged to answer, this is more for my own curiosities
sake.  This also isn't a suggestion to change the patch again, just
theorising here :-)

On Friday, 2 December 2011, Xueming Shen <xueming.shen at oracle.com> wrote:
> Martijn,
>
> The proposed change is incorrect.
>
> +  value = new String(vb, 0, 0, StandardCharsets.UTF_8);
>
> First, shouldn't it at least be
>
> value = new String(vb, StandardCharsets.UTF_8);
>
>  or
>
> value = new String(vb, 0, vb.length, StandardCharsets.UTF_8);
>
> Second, the "value" will be written out via dos.writeBytes(String) later,
which
> only takes the low-byte of a each char of the target String object.

Right, so the need for the hi-byte constructor can be avoided, but by me
ignoring the vb.length I introduced a bug, gotcha.

So the code was:

String value = e.getKey();
if (value != null) {
    byte[] vb = value.getBytes("utf8");
    value = new String(vb, 0, 0, vb.length);
}

My proposed (bad) change was:

String value = e.getKey();
if (value != null) {
    byte[] vb = value.getBytes(StandardCharsets.UTF_8);
    value = new String(vb, 0, 0, StandardCharsets.UTF_8);
}

As you say, a better change would have been:

String value = e.getKey();
if (value != null) {
    byte[] vb = value.getBytes(StandardCharsets.UTF_8);
    value = new String(vb, 0, vb.length, StandardCharsets.UTF_8);
}

Or in a more performing manner:

String value = e.getKey();
if (value != null) {
    // As at jdk8 build X - we don't use StandardCharsets.UTF_8 in getBytes
for performance reasons
    byte[] vb = value.getBytes("utf8");
    value = new String(vb, 0, vb.length, StandardCharsets.UTF_8);
}

> That "not properly" conversion is actually what we need here to make sure
the
> output will be correctly in utf8. The only "reliable" replacement might
be to use
> "iso8859-1" (not utf_8), but I would recommend keep it un-touched.

Fair enough.

Thanks for clearing that up and apologies for causing pain :(

Cheers,
Martijn

From martijnverburg at gmail.com  Sat Dec  3 03:27:54 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Sat, 3 Dec 2011 11:27:54 +0000
Subject: Tests (Was Warnings Cleanup in java.util.<various> (more from hack
	day))
Message-ID: <CAP7YuASf+6mzmikMv7ki=+gTY_7ZpBiSj7F+zC=sDYukx16RUg@mail.gmail.com>

Hi all,

So the recent warnings clean up exercise got me thinking about the
approach we took and how we could make it safer by applying/running
tests in some of these areas. I'm very new to the OpenJDK, but I
figure there must be a suite of tests (for the TCK if nothing else).
Is that the set of tests that are typically run? Or is there another
test suite that can be run/added to?

For example I feel that could/should have written a unit test for the
write method in the Manifest class that I had my recent brain melt in
:-)

Thoughts?

Cheers,
Martijn

From neugens.limasoftware at gmail.com  Sat Dec  3 03:34:55 2011
From: neugens.limasoftware at gmail.com (Mario Torre)
Date: Sat, 3 Dec 2011 12:34:55 +0100
Subject: Tests (Was Warnings Cleanup in java.util.<various> (more from
	hack day))
In-Reply-To: <CAP7YuASf+6mzmikMv7ki=+gTY_7ZpBiSj7F+zC=sDYukx16RUg@mail.gmail.com>
References: <CAP7YuASf+6mzmikMv7ki=+gTY_7ZpBiSj7F+zC=sDYukx16RUg@mail.gmail.com>
Message-ID: <371A8A7B-CE31-4D93-85CF-BBCA8AEFBDD5@gmail.com>

Il giorno 03/dic/2011, alle ore 12:27, Martijn Verburg ha scritto:
> Hi all,
> 
> So the recent warnings clean up exercise got me thinking about the
> approach we took and how we could make it safer by applying/running
> tests in some of these areas. I'm very new to the OpenJDK, but I
> figure there must be a suite of tests (for the TCK if nothing else).
> Is that the set of tests that are typically run? Or is there another
> test suite that can be run/added to?
> 
> For example I feel that could/should have written a unit test for the
> write method in the Manifest class that I had my recent brain melt in
> :-)
> 
> Thoughts?
> 
> Cheers,
> Martijn


Of course, you can write jtreg tests :)

The warning fixes were low risk changes (this is why everyone
was very picky about changing anything but the warnings) and
in many areas the JDK is well tested, so there was no real
reason to write tests for most of it, but this is not generally
true of course. So, to answer your question, yes, you can write
a jtreg test and propose it as companion to your code changes,
this is never a bad idea anyway, just double check that the test
you're going to write doesn't exist already (so you add more, rather
than duplicating it).

Cheers,
Mario

---
pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF
Fingerprint: BA39 9666 94EC 8B73 27FA  FC7C 4086 63E3 80F2 40CF

http://www.ladybug-studio.com

IcedRobot: www.icedrobot.org
Proud GNU Classpath developer: http://www.classpath.org/
Read About us at: http://planet.classpath.org
OpenJDK: http://openjdk.java.net/projects/caciocavallo/

Please, support open standards:
http://endsoftpatents.org/





From martijnverburg at gmail.com  Sat Dec  3 03:39:58 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Sat, 3 Dec 2011 11:39:58 +0000
Subject: Tests (Was Warnings Cleanup in java.util.<various> (more from
	hack day))
In-Reply-To: <371A8A7B-CE31-4D93-85CF-BBCA8AEFBDD5@gmail.com>
References: <CAP7YuASf+6mzmikMv7ki=+gTY_7ZpBiSj7F+zC=sDYukx16RUg@mail.gmail.com>
	<371A8A7B-CE31-4D93-85CF-BBCA8AEFBDD5@gmail.com>
Message-ID: <CAP7YuARNPk6Zajyfg=u1aAQ-hRQeLXzw-DqpjTH9cPEs-OiZWw@mail.gmail.com>

> On 3 December 2011 11:34, Mario Torre <neugens.limasoftware at gmail.com> wrote:
> Il giorno 03/dic/2011, alle ore 12:27, Martijn Verburg ha scritto:
>> Hi all,
>>
>> So the recent warnings clean up exercise got me thinking about the
>> approach we took and how we could make it safer by applying/running
>> tests in some of these areas. I'm very new to the OpenJDK, but I
>> figure there must be a suite of tests (for the TCK if nothing else).
>> Is that the set of tests that are typically run? Or is there another
>> test suite that can be run/added to?
>>
>> For example I feel that could/should have written a unit test for the
>> write method in the Manifest class that I had my recent brain melt in
>> :-)
>>
>> Thoughts?
>>
>> Cheers,
>> Martijn
>
>
> Of course, you can write jtreg tests :)
>
> The warning fixes were low risk changes (this is why everyone
> was very picky about changing anything but the warnings) and
> in many areas the JDK is well tested, so there was no real
> reason to write tests for most of it, but this is not generally
> true of course. So, to answer your question, yes, you can write
> a jtreg test and propose it as companion to your code changes,
> this is never a bad idea anyway, just double check that the test
> you're going to write doesn't exist already (so you add more, rather
> than duplicating it).
>
> Cheers,
> Mario

Hi Mario,

Thanks for that - I'll look up how to write/run jtreg tests -
should've figured there was something like that in the first place, a
well you live and learn :-)

Cheers,
Martijn

From forax at univ-mlv.fr  Sat Dec  3 04:37:17 2011
From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=)
Date: Sat, 03 Dec 2011 13:37:17 +0100
Subject: Collections.enumeration() WAS Warning Cleanup Day
Message-ID: <4EDA17FD.6060505@univ-mlv.fr>

I've started to remove warnings from java.util
and I'm not able to cleanly retrofit java.util.PropertyPermission
because java.util.Collections.enumeration is wrongly typed.

PropertyPermission contains a member class that define
a PermissionCollection that store/load only PropertyPermissions.
One method of PermissionCollection returns an Enumeration
of Permission by calling Collections.enumeration.
But Collections.enumeration doesn't use a wildcard.

This is the actual code of Collections.enumeration is
public static <T> Enumeration<T> enumeration(final Collection<T> c) {
         return new Enumeration<T>() {
             private final Iterator<T> i = c.iterator();

             public boolean hasMoreElements() {
                 return i.hasNext();
             }
             public T nextElement() {
                 return i.next();
             }
         };
     }

and should be:
public static <T> Enumeration<T> enumeration(final Collection<? extends 
T> c) {
         final Iterator<? extends T> i = c.iterator();
         return new Enumeration<T>() {
             public boolean hasMoreElements() {
                 return i.hasNext();
             }
             public T nextElement() {
                 return i.next();
             }
         };
     }

I believe this change is source and binary compatible because the method
is static and a Collection<? extends T> is a super type of Collection<T>.

R?mi



From forax at univ-mlv.fr  Sat Dec  3 04:54:48 2011
From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=)
Date: Sat, 03 Dec 2011 13:54:48 +0100
Subject: PropertyResourceBundle WAS Warning Cleanup Day
Message-ID: <4EDA1C18.30205@univ-mlv.fr>

The two constructor of PropertyResourceBundle are unsafe
because they use a Properties which is a HashTable<Object,Object>
to populate a Map<String,Object>.

The way to fix that is to change Properties.load0
to be static and package visible and take a Map<? super String, ? super 
String>
as parameter in order to call it from the constructors
of PropertyResourceBundle.

Because it's a bytecode change, I will not remove the warning from
PropertyResourceBundle.

If someone can create a bug for that :)

cheers,
R?mi


From mikeb01 at gmail.com  Sat Dec  3 05:03:32 2011
From: mikeb01 at gmail.com (Michael Barker)
Date: Sat, 3 Dec 2011 13:03:32 +0000
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <CAP7YuAQ0d+RO+QkX6UUPaBBb07hb1YowS_G_JN6PETyVwVkyfA@mail.gmail.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED9295C.1080705@univ-mlv.fr>
	<CAP7YuAQuEBFuvL8+hsw48wn_vsTYppDdAs23ofK-TBzZ2UG5Yg@mail.gmail.com>
	<CAP7YuASCthRPC1M_ndJ=iRW_HKM41zLqaf+oCnv4Vs-4sOWy9w@mail.gmail.com>
	<4ED96250.4080708@oracle.com>
	<CAP7YuAQ0d+RO+QkX6UUPaBBb07hb1YowS_G_JN6PETyVwVkyfA@mail.gmail.com>
Message-ID: <CALwNKeSh898aruYTJNHpdgnmxxfbQaGm4THxr03h+=3kcTV4HA@mail.gmail.com>

Hi,

After some further review from the list and Martijn attached are
updated patches for Manifest.java and ZipEntry.java.  The unnecessary
import and the UTF8 changes are removed.  The ZipEntry now uses a
SuppressWarnings with a comment regarding the use of j.u.Calendar as
an alternative.

Apologies for the numerous round trips on this code.  Thank you to all
that reviewed and commented on the code and general style/process.
This is a bit of a learning experience for us (LJC).  It will make
further hack days much easier as we can better guide development and
review patches before sending them in.

Mike.

On Sat, Dec 3, 2011 at 11:05 AM, Martijn Verburg
<martijnverburg at gmail.com> wrote:
> Hi Sherman,
>
> In order to keep this change within the scope of the intentions of the
> exercise I'm going to revert that section to what it was (I'll re-spin a
> patch). ?At this stage I won't add a @SuppressWarnings as I think this
> should be avoidable once it's looked at again in a little more depth.
>
> The rest follows in-line. ?If this is starting to chew up your time then
> please don't feel obliged to answer, this is more for my own curiosities
> sake. ?This also isn't a suggestion to change the patch again, just
> theorising here :-)
>
> On Friday, 2 December 2011, Xueming Shen <xueming.shen at oracle.com> wrote:
>> Martijn,
>>
>> The proposed change is incorrect.
>>
>> + ?value = new String(vb, 0, 0, StandardCharsets.UTF_8);
>>
>> First, shouldn't it at least be
>>
>> value = new String(vb, StandardCharsets.UTF_8);
>>
>> ?or
>>
>> value = new String(vb, 0, vb.length, StandardCharsets.UTF_8);
>>
>> Second, the "value" will be written out via dos.writeBytes(String) later,
> which
>> only takes the low-byte of a each char of the target String object.
>
> Right, so the need for the hi-byte constructor can be avoided, but by me
> ignoring the vb.length I introduced a bug, gotcha.
>
> So the code was:
>
> String value = e.getKey();
> if (value != null) {
> ? ?byte[] vb = value.getBytes("utf8");
> ? ?value = new String(vb, 0, 0, vb.length);
> }
>
> My proposed (bad) change was:
>
> String value = e.getKey();
> if (value != null) {
> ? ?byte[] vb = value.getBytes(StandardCharsets.UTF_8);
> ? ?value = new String(vb, 0, 0, StandardCharsets.UTF_8);
> }
>
> As you say, a better change would have been:
>
> String value = e.getKey();
> if (value != null) {
> ? ?byte[] vb = value.getBytes(StandardCharsets.UTF_8);
> ? ?value = new String(vb, 0, vb.length, StandardCharsets.UTF_8);
> }
>
> Or in a more performing manner:
>
> String value = e.getKey();
> if (value != null) {
> ? ?// As at jdk8 build X - we don't use StandardCharsets.UTF_8 in getBytes
> for performance reasons
> ? ?byte[] vb = value.getBytes("utf8");
> ? ?value = new String(vb, 0, vb.length, StandardCharsets.UTF_8);
> }
>
>> That "not properly" conversion is actually what we need here to make sure
> the
>> output will be correctly in utf8. The only "reliable" replacement might
> be to use
>> "iso8859-1" (not utf_8), but I would recommend keep it un-touched.
>
> Fair enough.
>
> Thanks for clearing that up and apologies for causing pain :(
>
> Cheers,
> Martijn
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/jar/Manifest.java
--- a/src/share/classes/java/util/jar/Manifest.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/jar/Manifest.java	Sat Dec 03 12:53:27 2011 +0000
@@ -51,7 +51,7 @@
     private Attributes attr = new Attributes();
 
     // manifest entries
-    private Map entries = new HashMap();
+    private Map<String, Attributes> entries = new HashMap<>();
 
     /**
      * Constructs a new, empty Manifest.
@@ -148,11 +148,11 @@
         // Write out the main attributes for the manifest
         attr.writeMain(dos);
         // Now write out the pre-entry attributes
-        Iterator it = entries.entrySet().iterator();
+        Iterator<Map.Entry<String, Attributes>> it = entries.entrySet().iterator();
         while (it.hasNext()) {
-            Map.Entry e = (Map.Entry)it.next();
+            Map.Entry<String, Attributes> e = it.next();
             StringBuffer buffer = new StringBuffer("Name: ");
-            String value = (String)e.getKey();
+            String value = e.getKey();
             if (value != null) {
                 byte[] vb = value.getBytes("UTF8");
                 value = new String(vb, 0, 0, vb.length);
@@ -161,7 +161,7 @@
             buffer.append("\r\n");
             make72Safe(buffer);
             dos.writeBytes(buffer.toString());
-            ((Attributes)e.getValue()).write(dos);
+            e.getValue().write(dos);
         }
         dos.flush();
     }
-------------- next part --------------
diff -r 43a630f11af6 src/share/classes/java/util/zip/ZipEntry.java
--- a/src/share/classes/java/util/zip/ZipEntry.java	Wed Nov 30 13:11:16 2011 -0800
+++ b/src/share/classes/java/util/zip/ZipEntry.java	Sat Dec 03 12:55:05 2011 +0000
@@ -281,6 +281,8 @@
      * Converts DOS time to Java time (number of milliseconds since epoch).
      */
     private static long dosToJavaTime(long dtime) {
+        @SuppressWarnings("deprecation") // Changing to j.u.Calendar would have an
+                                         // unknown impact on performance/gc.
         Date d = new Date((int)(((dtime >> 25) & 0x7f) + 80),
                           (int)(((dtime >> 21) & 0x0f) - 1),
                           (int)((dtime >> 16) & 0x1f),
@@ -293,6 +295,8 @@
     /*
      * Converts Java time to DOS time.
      */
+    @SuppressWarnings("deprecation") // Changing to j.u.Calendar would have an
+                                     // unknown impact on performance/gc.
     private static long javaToDosTime(long time) {
         Date d = new Date(time);
         int year = d.getYear() + 1900;

From forax at univ-mlv.fr  Sat Dec  3 06:15:41 2011
From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=)
Date: Sat, 03 Dec 2011 15:15:41 +0100
Subject: WeakHashMap.put WAS Warning Cleanup Day
Message-ID: <4EDA2F0D.6030308@univ-mlv.fr>

WeakHashMap.put() can be optimized a bit
because tab[i] is read twice if the key is not in the map.

If someone can create a bug for that ...
I will provide a patch.

R?mi

From Alan.Bateman at oracle.com  Sat Dec  3 06:33:02 2011
From: Alan.Bateman at oracle.com (Alan Bateman)
Date: Sat, 03 Dec 2011 14:33:02 +0000
Subject: Collections.enumeration() WAS Warning Cleanup Day
In-Reply-To: <4EDA17FD.6060505@univ-mlv.fr>
References: <4EDA17FD.6060505@univ-mlv.fr>
Message-ID: <4EDA331E.6040800@oracle.com>

On 03/12/2011 12:37, R?mi Forax wrote:
> I've started to remove warnings from java.util
> and I'm not able to cleanly retrofit java.util.PropertyPermission
> because java.util.Collections.enumeration is wrongly typed.
>
R?mi - you might want to sync up with Mike Duigou as I believe he has 
been working on the java.util area including collections. Also best to 
move any discussions on collections/util area to core-libs-dev too.

-Alan

From forax at univ-mlv.fr  Sat Dec  3 07:12:28 2011
From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=)
Date: Sat, 03 Dec 2011 16:12:28 +0100
Subject: Collections.enumeration() WAS Warning Cleanup Day
In-Reply-To: <4EDA331E.6040800@oracle.com>
References: <4EDA17FD.6060505@univ-mlv.fr> <4EDA331E.6040800@oracle.com>
Message-ID: <4EDA3C5C.6070404@univ-mlv.fr>

On 12/03/2011 03:33 PM, Alan Bateman wrote:
> On 03/12/2011 12:37, R?mi Forax wrote:
>> I've started to remove warnings from java.util
>> and I'm not able to cleanly retrofit java.util.PropertyPermission
>> because java.util.Collections.enumeration is wrongly typed.
>>
> R?mi - you might want to sync up with Mike Duigou as I believe he has 
> been working on the java.util area including collections. Also best to 
> move any discussions on collections/util area to core-libs-dev too.
>
> -Alan

too late :)

Here is a webrev that remove most of the unchecked cast/raw generics 
warnings
http://cr.openjdk.java.net/~forax/WarningDay1/webrev/

R?mi


From Alan.Bateman at oracle.com  Sat Dec  3 07:36:36 2011
From: Alan.Bateman at oracle.com (Alan Bateman)
Date: Sat, 03 Dec 2011 15:36:36 +0000
Subject: Tests (Was Warnings Cleanup in java.util.<various> (more from
	hack day))
In-Reply-To: <CAP7YuASf+6mzmikMv7ki=+gTY_7ZpBiSj7F+zC=sDYukx16RUg@mail.gmail.com>
References: <CAP7YuASf+6mzmikMv7ki=+gTY_7ZpBiSj7F+zC=sDYukx16RUg@mail.gmail.com>
Message-ID: <4EDA4204.2080108@oracle.com>

On 03/12/2011 11:27, Martijn Verburg wrote:
> Hi all,
>
> So the recent warnings clean up exercise got me thinking about the
> approach we took and how we could make it safer by applying/running
> tests in some of these areas. I'm very new to the OpenJDK, but I
> figure there must be a suite of tests (for the TCK if nothing else).
> Is that the set of tests that are typically run? Or is there another
> test suite that can be run/added to?
>
> For example I feel that could/should have written a unit test for the
> write method in the Manifest class that I had my recent brain melt in
> :-)
>
There are lots of tests in the jdk repository (lots in langtools and 
some tests in the hotspot repository too). In order to run them then 
you'll need the jtreg test harness [1]. We probably need better 
documentation on the OpenJDK site for how to run the tests but one 
useful thing to know is that the make file in jdk/test directory has 
make targets that run the tests for many areas of the libraries. In this 
case you are working on java.util classes and we have a jdk_util target 
in the make file that runs the tests in jdk/test/java/util/**. You can 
run them with:

make JT_HOME=<jtreg-location> jdk_util

This locates your build in the default output directory so if it's 
somewhere else when you'll need to specify PRODUCT_HOME=<myjdk> to point 
it to the JDK that you are testing.

It's possible that your sponsor (maybe Sherman in this case) will run 
the tests before pushing the changes but we need to get more people used 
to running the tests too.

-Alan.

[1] http://openjdk.java.net/jtreg/


From mike.duigou at oracle.com  Sat Dec  3 08:21:00 2011
From: mike.duigou at oracle.com (Mike Duigou)
Date: Sat, 3 Dec 2011 08:21:00 -0800
Subject: Collections.enumeration() WAS Warning Cleanup Day
In-Reply-To: <4EDA3C5C.6070404@univ-mlv.fr>
References: <4EDA17FD.6060505@univ-mlv.fr> <4EDA331E.6040800@oracle.com>
	<4EDA3C5C.6070404@univ-mlv.fr>
Message-ID: <D26F01DE-1B85-490B-A6D8-622A77A9CE76@oracle.com>


On Dec 3 2011, at 07:12 , R?mi Forax wrote:

> On 12/03/2011 03:33 PM, Alan Bateman wrote:
>> On 03/12/2011 12:37, R?mi Forax wrote:
>>> I've started to remove warnings from java.util
>>> and I'm not able to cleanly retrofit java.util.PropertyPermission
>>> because java.util.Collections.enumeration is wrongly typed.
>>> 
>> R?mi - you might want to sync up with Mike Duigou as I believe he has been working on the java.util area including collections. Also best to move any discussions on collections/util area to core-libs-dev too.
>> 
>> -Alan
> 
> too late :)
> 
> Here is a webrev that remove most of the unchecked cast/raw generics warnings
> http://cr.openjdk.java.net/~forax/WarningDay1/webrev/
> 
> R?mi
> 
I have changes in about 15 files. I will compare them against yours. I actually believe that doing the same work independently and then comparing the results is a stronger validation than inspection review. 

Thanks for submitting these fixes.

Mike

From martijnverburg at gmail.com  Sat Dec  3 08:35:17 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Sat, 3 Dec 2011 16:35:17 +0000
Subject: Tests (Was Warnings Cleanup in java.util.<various> (more from
	hack day))
In-Reply-To: <4EDA4204.2080108@oracle.com>
References: <CAP7YuASf+6mzmikMv7ki=+gTY_7ZpBiSj7F+zC=sDYukx16RUg@mail.gmail.com>
	<4EDA4204.2080108@oracle.com>
Message-ID: <CAP7YuAQgdRG0Yf=4X8nz=7p95qFxveXOKo-tyGQ0Mhbs8XB0Vg@mail.gmail.com>

On 3 December 2011 15:36, Alan Bateman <Alan.Bateman at oracle.com> wrote:
> On 03/12/2011 11:27, Martijn Verburg wrote:
>>
>> Hi all,
>>
>> So the recent warnings clean up exercise got me thinking about the
>> approach we took and how we could make it safer by applying/running
>> tests in some of these areas. I'm very new to the OpenJDK, but I
>> figure there must be a suite of tests (for the TCK if nothing else).
>> Is that the set of tests that are typically run? Or is there another
>> test suite that can be run/added to?
>>
>> For example I feel that could/should have written a unit test for the
>> write method in the Manifest class that I had my recent brain melt in
>> :-)
>>
> There are lots of tests in the jdk repository (lots in langtools and some
> tests in the hotspot repository too). In order to run them then you'll need
> the jtreg test harness [1]. We probably need better documentation on the
> OpenJDK site for how to run the tests but one useful thing to know is that
> the make file in jdk/test directory has make targets that run the tests for
> many areas of the libraries. In this case you are working on java.util
> classes and we have a jdk_util target in the make file that runs the tests
> in jdk/test/java/util/**. You can run them with:
>
> make JT_HOME=<jtreg-location> jdk_util
>
> This locates your build in the default output directory so if it's somewhere
> else when you'll need to specify PRODUCT_HOME=<myjdk> to point it to the JDK
> that you are testing.
>
> It's possible that your sponsor (maybe Sherman in this case) will run the
> tests before pushing the changes but we need to get more people used to
> running the tests too.
>
> -Alan.
>
> [1] http://openjdk.java.net/jtreg/

Thanks for the extra details, this is great stuff!

I think this is the sort of useful thing that the JUG community can
help with. That is, go through these sorts of steps and get them
documented in the right place on the OpenJDK wiki.  I've got another
thread running with Dalibor about improving the OpenJDK site/wiki, so
this can be part of that effort.

I'll sit down tomorrow and go through the steps.

Thanks again,
Martijn

From forax at univ-mlv.fr  Sat Dec  3 11:37:13 2011
From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=)
Date: Sat, 03 Dec 2011 20:37:13 +0100
Subject: Collections.enumeration() WAS Warning Cleanup Day
In-Reply-To: <D26F01DE-1B85-490B-A6D8-622A77A9CE76@oracle.com>
References: <4EDA17FD.6060505@univ-mlv.fr> <4EDA331E.6040800@oracle.com>
	<4EDA3C5C.6070404@univ-mlv.fr>
	<D26F01DE-1B85-490B-A6D8-622A77A9CE76@oracle.com>
Message-ID: <4EDA7A69.1040109@univ-mlv.fr>

On 12/03/2011 05:21 PM, Mike Duigou wrote:
> On Dec 3 2011, at 07:12 , R?mi Forax wrote:
>
>> On 12/03/2011 03:33 PM, Alan Bateman wrote:
>>> On 03/12/2011 12:37, R?mi Forax wrote:
>>>> I've started to remove warnings from java.util
>>>> and I'm not able to cleanly retrofit java.util.PropertyPermission
>>>> because java.util.Collections.enumeration is wrongly typed.
>>>>
>>> R?mi - you might want to sync up with Mike Duigou as I believe he has been working on the java.util area including collections. Also best to move any discussions on collections/util area to core-libs-dev too.
>>>
>>> -Alan
>> too late :)
>>
>> Here is a webrev that remove most of the unchecked cast/raw generics warnings
>> http://cr.openjdk.java.net/~forax/WarningDay1/webrev/
>>
>> R?mi
>>
> I have changes in about 15 files. I will compare them against yours. I actually believe that doing the same work independently and then comparing the results is a stronger validation than inspection review.

yes.

>
> Thanks for submitting these fixes.
>
> Mike

Mike, there is a raw type I was not able to remove in Collections line 1408,
I understand the problem but was not able to come with a solution.
The current fix is not good because it equivalent to say  f*** you 
wildcards !

R?mi



From john.r.rose at oracle.com  Sat Dec  3 13:44:55 2011
From: john.r.rose at oracle.com (John Rose)
Date: Sat, 3 Dec 2011 13:44:55 -0800
Subject: Warnings Cleanup in java.util.<various> (more from hack day)
In-Reply-To: <CALwNKeSh898aruYTJNHpdgnmxxfbQaGm4THxr03h+=3kcTV4HA@mail.gmail.com>
References: <CALwNKeS+pc3dUbyEaJagkSG0R2O57jLigBrA+4p7G0NqwTqLww@mail.gmail.com>
	<4ED9295C.1080705@univ-mlv.fr>
	<CAP7YuAQuEBFuvL8+hsw48wn_vsTYppDdAs23ofK-TBzZ2UG5Yg@mail.gmail.com>
	<CAP7YuASCthRPC1M_ndJ=iRW_HKM41zLqaf+oCnv4Vs-4sOWy9w@mail.gmail.com>
	<4ED96250.4080708@oracle.com>
	<CAP7YuAQ0d+RO+QkX6UUPaBBb07hb1YowS_G_JN6PETyVwVkyfA@mail.gmail.com>
	<CALwNKeSh898aruYTJNHpdgnmxxfbQaGm4THxr03h+=3kcTV4HA@mail.gmail.com>
Message-ID: <73C0F320-D6DC-4598-B979-7FF65329BCCF@oracle.com>

On Dec 3, 2011, at 5:03 AM, Michael Barker wrote:

> This is a bit of a learning experience for us (LJC).

That's true for us old-timers, too.  (Transfer-of-information requires good questions from newcomers.)  Together we'll shake out the process.  -- John

From stuart.marks at oracle.com  Sun Dec  4 16:17:23 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Sun, 04 Dec 2011 16:17:23 -0800
Subject: Request for Review: Warnings cleanup in java.lang.*, java.util.**
In-Reply-To: <4ED9042D.3000307@redhat.com>
References: <CAGVnyzRNvKDpSN-TuKRDg+ckKEZcQj-EfLUnt1Ayfse0PeDk6g@mail.gmail.com>
	<4ED8C221.7070603@oracle.com> <4ED9042D.3000307@redhat.com>
Message-ID: <4EDC0D93.7000608@oracle.com>

On 12/2/11 9:00 AM, Omair Majid wrote:
> On 12/02/2011 07:18 AM, Alan Bateman wrote:
>> cc'ing core-libs-dev as that is the place to discuss these changes. I
>> see on the sign-up sheet [1] that omajid has signed up for java.lang,
>> maybe you are working together?
>
> Unfortunately, David and I were not working together :(
>
> Anyway, here is my webrev for java.lang.*
> http://cr.openjdk.java.net/~omajid/webrevs/warnings-day-2011/01/
>
> Sorry about the delay, building and testing this took longer than I had
> expected it to. Also, this patch only addresses the warnings pointed out by javac.
>
> The classes java.lang.ThreadLocal and java.lang.ClassValue are not included in
> the webrev. The fixes for ThreadLocal were basically sprinkling
> @SuppressWarnings("unchecked") throughout and the fixes for ClassValue looked
> slightly more complex when I tried to reduce the use of rawtypes. I will post a
> separate webrev for those later.

I've been mulling over what to do with these two patches for the past couple 
days. Initially I was thinking of merging the patches and generating a new one 
combining the best of both. But after I looked over both of them, I felt that 
we should go with Omair's patch, for the following reasons. First, he had 
signed up to do this area already, and second, his patch stayed will within the 
guideline of "simple, minimal, and risk-free warnings fixes" that I had posted 
in kicking off the WCD [1].

The bugid for this change is 7117612. I'll kick off a separate review thread 
for this on core-libs-dev shortly.

Omair, regarding other changes you mentioned you might work on, please be 
advised that John Rose is doing some other work on ClassValue [2], and he has 
indicated that he's doing some warnings cleanup in there as well. You might 
take a look at his webrev. On ThreadLocal, it looks like there are a bunch of 
rawtypes warnings there too, so some judicious application of generic type 
parameters seems called for in those cases. Let us know what you intend to do 
in these areas.

See you on the other thread.

s'marks



[1] http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-December/000380.html

[2] http://mail.openjdk.java.net/pipermail/core-libs-dev/2011-December/008541.html


From stuart.marks at oracle.com  Sun Dec  4 17:25:03 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Sun, 04 Dec 2011 17:25:03 -0800
Subject: Warnings Cleanup Weekend Update
Message-ID: <4EDC1D6F.2030103@oracle.com>

This has turned out to be a rather long day. :-)

Ten changesets have been integrated so far, and 16 (!) changesets are being 
reviewed or are awaiting review. There are a couple changesets still being 
developed (including one from me; hey, I had to get some coding in myself).

We started at 10,013 warnings in the jdk repo and after the ten changesets 
we're down to 9,147.

Current changeset status and warning counts are on the wiki. [1]

s'marks

[1] http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29

From david.holmes at oracle.com  Sun Dec  4 17:39:37 2011
From: david.holmes at oracle.com (David Holmes)
Date: Mon, 05 Dec 2011 11:39:37 +1000
Subject: Collections.enumeration() WAS Warning Cleanup Day
In-Reply-To: <4EDA7A69.1040109@univ-mlv.fr>
References: <4EDA17FD.6060505@univ-mlv.fr> <4EDA331E.6040800@oracle.com>
	<4EDA3C5C.6070404@univ-mlv.fr>
	<D26F01DE-1B85-490B-A6D8-622A77A9CE76@oracle.com>
	<4EDA7A69.1040109@univ-mlv.fr>
Message-ID: <4EDC20D9.9080304@oracle.com>

On 4/12/2011 5:37 AM, R?mi Forax wrote:
> On 12/03/2011 05:21 PM, Mike Duigou wrote:
>> On Dec 3 2011, at 07:12 , R?mi Forax wrote:
>>
>>> On 12/03/2011 03:33 PM, Alan Bateman wrote:
>>>> On 03/12/2011 12:37, R?mi Forax wrote:
>>>>> I've started to remove warnings from java.util
>>>>> and I'm not able to cleanly retrofit java.util.PropertyPermission
>>>>> because java.util.Collections.enumeration is wrongly typed.
>>>>>
>>>> R?mi - you might want to sync up with Mike Duigou as I believe he
>>>> has been working on the java.util area including collections. Also
>>>> best to move any discussions on collections/util area to
>>>> core-libs-dev too.
>>>>
>>>> -Alan
>>> too late :)
>>>
>>> Here is a webrev that remove most of the unchecked cast/raw generics
>>> warnings
>>> http://cr.openjdk.java.net/~forax/WarningDay1/webrev/
>>>
>>> R?mi
>>>
>> I have changes in about 15 files. I will compare them against yours. I
>> actually believe that doing the same work independently and then
>> comparing the results is a stronger validation than inspection review.
>
> yes.
>
>>
>> Thanks for submitting these fixes.
>>
>> Mike
>
> Mike, there is a raw type I was not able to remove in Collections line
> 1408,
> I understand the problem but was not able to come with a solution.
> The current fix is not good because it equivalent to say f*** you
> wildcards !

So the obvious fix is:

   @SuppressWarnings({ "unchecked" })
   UnmodifiableEntrySet(Set<? extends Map.Entry<? extends K, ? extends 
V>> s) {
     super((Set<? extends Map.Entry<K,V>>)s);
   }

Why doesn't it work?

David

From schlosna at gmail.com  Sun Dec  4 19:10:46 2011
From: schlosna at gmail.com (David Schlosnagle)
Date: Sun, 4 Dec 2011 22:10:46 -0500
Subject: Request for Review: Warnings cleanup in java.lang.*, java.util.**
In-Reply-To: <4EDC0D93.7000608@oracle.com>
References: <CAGVnyzRNvKDpSN-TuKRDg+ckKEZcQj-EfLUnt1Ayfse0PeDk6g@mail.gmail.com>
	<4ED8C221.7070603@oracle.com> <4ED9042D.3000307@redhat.com>
	<4EDC0D93.7000608@oracle.com>
Message-ID: <5B1E1FC6-518A-452A-BB67-46153B52CD79@gmail.com>

On Dec 4, 2011, at 7:17 PM, Stuart Marks <stuart.marks at oracle.com> wrote:

> I've been mulling over what to do with these two patches for the past couple days. Initially I was thinking of merging the patches and generating a new one combining the best of both. But after I looked over both of them, I felt that we should go with Omair's patch, for the following reasons. First, he had signed up to do this area already, and second, his patch stayed will within the guideline of "simple, minimal, and risk-free warnings fixes" that I had posted in kicking off the WCD [1].

Stuart,

That's fine with me, I realize I missed the sign up window. I hope there is another cleanup feat soon.

Thanks,
Dave

From stuart.marks at oracle.com  Sun Dec  4 22:34:19 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Sun, 04 Dec 2011 22:34:19 -0800
Subject: Request for Review: Warnings cleanup in java.lang.*, java.util.**
In-Reply-To: <5B1E1FC6-518A-452A-BB67-46153B52CD79@gmail.com>
References: <CAGVnyzRNvKDpSN-TuKRDg+ckKEZcQj-EfLUnt1Ayfse0PeDk6g@mail.gmail.com>
	<4ED8C221.7070603@oracle.com> <4ED9042D.3000307@redhat.com>
	<4EDC0D93.7000608@oracle.com>
	<5B1E1FC6-518A-452A-BB67-46153B52CD79@gmail.com>
Message-ID: <4EDC65EB.20201@oracle.com>

On 12/4/11 7:10 PM, David Schlosnagle wrote:
> On Dec 4, 2011, at 7:17 PM, Stuart Marks<stuart.marks at oracle.com>  wrote:
>
>> I've been mulling over what to do with these two patches for the past couple days. Initially I was thinking of merging the patches and generating a new one combining the best of both. But after I looked over both of them, I felt that we should go with Omair's patch, for the following reasons. First, he had signed up to do this area already, and second, his patch stayed will within the guideline of "simple, minimal, and risk-free warnings fixes" that I had posted in kicking off the WCD [1].
>
> Stuart,
>
> That's fine with me, I realize I missed the sign up window. I hope there is another cleanup feat soon.
>
> Thanks,
> Dave

Great, thanks for understanding. Yes, there will be other opportunities.

s'marks

From artem.ananiev at oracle.com  Mon Dec  5 06:12:29 2011
From: artem.ananiev at oracle.com (Artem Ananiev)
Date: Mon, 05 Dec 2011 18:12:29 +0400
Subject: Review Request for 7116993 (warning cleanup java.applet)
In-Reply-To: <4ED956A3.80006@oracle.com>
References: <4ED7E98F.3040200@oracle.com> <4ED7EE3E.6020109@oracle.com>
	<4ED899B4.7000207@oracle.com> <4ED956A3.80006@oracle.com>
Message-ID: <4EDCD14D.2070006@oracle.com>

Hi, Stuart, Danesh,

as java.applet changes are isolated from the rest of java.awt, they can 
be pushed via TL workspace.

Thanks,

Artem

On 12/3/2011 2:52 AM, Stuart Marks wrote:
> Hi Artem,
>
> It turns out that Danesh Dadachanji had also been working on
> java.applet. The changes are identical, so there's no conflict.
>
> Is it OK if this change goes into the TL forest? If so, I can handle the
> push. Otherwise we'll to figure out something else.
>
> s'marks
>
> On 12/2/11 1:26 AM, Artem Ananiev wrote:
>>
>> I haven't seen anyone else working on java.applet. Your webrev looks
>> fine.
>>
>> Thanks,
>>
>> Artem
>>
>> On 12/2/2011 1:14 AM, Brandon Passanisi wrote:
>>> I'll withdraw this review request as I was notified by Xiomara that
>>> someone else has been working on java.applet. I had sent an e-mail to
>>> the alias yesterday about taking on java.applet though. Luckily, there
>>> aren't many warnings in java.applet.
>>>
>>> On 12/1/2011 12:54 PM, Brandon Passanisi wrote:
>>>> I have a webrev pertaining to the warning cleanup changes for
>>>> java.applet ready for review. Here's the info:
>>>>
>>>> Bug: 7116993
>>>> Webrev:
>>>> http://cr.openjdk.java.net/~dmocek/bpassanisi/7116993/webrev.00/
>>>> <http://cr.openjdk.java.net/%7Edmocek/bpassanisi/7116993/webrev.00/>
>>>>
>>>> Thanks.
>>>

From stuart.marks at oracle.com  Sat Dec  3 12:59:56 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Sat, 03 Dec 2011 12:59:56 -0800
Subject: review of 7117249: java.util warnings patches from LJC/Mike Barker
Message-ID: <4EDA8DCC.6040503@oracle.com>

[bcc to jdk8-dev; subsequent reviews/comments should go to core-libs-dev]

Hi Mike, all,

I've collected all the patches together, filed bug 7117249 to cover them, and 
have started this new review thread on core-libs-dev for it. I've also posted a 
webrev for the collected patches:

http://cr.openjdk.java.net/~smarks/reviews/7117249/webrev.0/

It looks like we have the following patches from your group so far:

  - java/util/jar/JarFile.java
  - java/util/jar/Manifest.java [patch4]
  - java/util/logging/LogManager.java [patch2]
  - java/util/prefs/Preferences.java
  - java/util/prefs/XmlSupport.java
  - java/util/zip/ZipEntry.java [patch2]

Did I get everything? I think you've addressed all the review comments that 
have come in so far. (Other reviewers, please recheck the webrev!)

In addition, I have the following comments:

JarFile.java --

242                 ZipEntry ze = (ZipEntry)enum_.nextElement();
621                     ZipEntry ze = (ZipEntry) enum_.nextElement();
676                     ZipEntry e = (ZipEntry) entries.nextElement();

I think these are all unnecessary casts now, since at 242 and 621 the return 
type from nextElement is <? extends ZipEntry> and at 676 it's JarEntry, and 
JarEntry is a subclass of ZipEntry. So, these casts can probably be removed 
even though they don't generate warnings. An alternative would be to change the 
type of e at 676 to JarEntry; not sure if this would be better.

LogManager.java --

203                     Logger.getGlobal().setLogManager(manager);
204                     manager.addLogger(Logger.getGlobal());

The doc recommends replacing mentions of the global field with a call to 
getGlobal(), and this was done here, however sometimes what's in the doc 
doesn't necessarily apply to library code. Can someone who's more familiar with 
logging verify this change is correct?

418     Class<?>   clz = ClassLoader.getSystemClassLoader().loadClass(word);
419     Handler hdl = (Handler) clz.newInstance();

Minor nit: extra space was before 'clz' in the original code, I think, to make 
it line up with 'hdl'. Maybe spacing needs to be rearranged to keep them lined 
up. (I see this a couple other places in the file, but it's not too prevalent.) 
The alternative is to have a single space between the type and the variable name.

*******

Mike, if you end up needing to update this patch further, it might be easiest 
if you just sent all the changes in a single patch file, i.e. the output of 'hg 
diff'. I can then apply it to the tip and generate a webrev quite easily.

Thanks.

s'marks

From chris.hegarty at oracle.com  Mon Dec  5 08:44:45 2011
From: chris.hegarty at oracle.com (Chris Hegarty)
Date: Mon, 05 Dec 2011 16:44:45 +0000
Subject: Review Request: Warnings cleanup in sun.management and its
	subpackages
In-Reply-To: <4ED95AC4.2090905@oracle.com>
References: <4ED95AC4.2090905@oracle.com>
Message-ID: <4EDCF4FD.9020806@oracle.com>


Some trivial comments:
   ConnectorAddressLink.java
     L172 - L178, you can use 'for(Counter c: counters)' and remove
     subsequent redundant cases.
   MappedMXBeanType.java
     L76, cast to (Class<?) ???

Some of the public classes have API changes. Are these classes in any 
way supported? Some have Javadoc comments that would make me think this, 
but maybe not given the name space.

-Chris.

On 02/12/2011 23:09, Kurchi Hazra wrote:
> Hi,
>
> http://cr.openjdk.java.net/~khazra/7117570/webrev.00/
>
> Please review this webrev that cleans warnings in sun.management and its
> subpackages. These packages are now warning-free I believe.
>
> Looking forward to your comments. I have used the serialver tool to
> generate all the serial version UIDs that I have added.
>
>
>
> Thanks,
>
> Kurchi
>

From naoto.sato at oracle.com  Mon Dec  5 11:01:19 2011
From: naoto.sato at oracle.com (Naoto Sato)
Date: Mon, 05 Dec 2011 11:01:19 -0800
Subject: Review request for IMF classes and Locale related classes
In-Reply-To: <4ED97E39.1050504@oracle.com>
References: <4ED91F51.2020502@oracle.com> <4ED95018.3070808@oracle.com>
	<4ED96005.3000709@oracle.com> <4ED966AA.2010701@oracle.com>
	<4ED97E39.1050504@oracle.com>
Message-ID: <4EDD14FF.9060603@oracle.com>

OK here is the revised one:

http://cr.openjdk.java.net/~naoto/7117469/webrev.02/

I hope this is the final :-)

Naoto

On 12/2/11 5:41 PM, Stuart Marks wrote:
> The changes you made are good, thanks.
>
> I did figure out how to deal with the static initializer in
> AllAvailableLocales:
>
> @SuppressWarnings({"unchecked"})
> Class<? extends LocaleServiceProvider>[] providerClasses =
> (Class<? extends LocaleServiceProvider>[]) new Class<?>[] {
> java.text.spi.BreakIteratorProvider.class,
> ...
> };
>
> This is a bit uglier but it does reduce the scope of warnings suppression.
>
> I think you might be able to get rid of the wildcards, too:
>
> @SuppressWarnings({"unchecked"})
> Class<LocaleServiceProvider>[] providerClasses =
> (Class<LocaleServiceProvider>[]) new Class<?>[] {
> java.text.spi.BreakIteratorProvider.class,
> ...
> };
> ...
> for (Class<LocaleServiceProvider> providerClass : providerClasses) {
> ...
> }
>
> I'm not entirely sure why this works, but it seems to compile for me
> without warnings or errors....
>
> s'marks
>
>
>
> On 12/2/11 4:00 PM, Naoto Sato wrote:
>> Hi Stuart,
>>
>> Thank you for your comments. Here is the updated webrev reflecting your
>> suggestions. Please review:
>>
>> http://cr.openjdk.java.net/~naoto/7117469/webrev.01/
>>
>> Naoto
>>
>>
>> On 12/2/11 3:32 PM, Stuart Marks wrote:
>>> Hi Naoto,
>>>
>>> A couple comments.
>>>
>>> java/util/Currency.java --
>>>
>>> The @SuppressWarnings covers the entire method. We're trying to use
>>> @SuppressWarnings with as narrow a scope as possible. Sometimes it's
>>> helpful to create a local variable declaration for this purpose; perhaps
>>> something like this will help:
>>>
>>> @SuppressedWarnings("unchecked")
>>> Set<Currency> result = (Set<Currency>) available.clone();
>>> return result;
>>>
>>> You can probably do something similar in
>>> sun/util/LocaleServiceProviderPool.java in the getLocalizedObjectImpl()
>>> method.
>>>
>>> The suppression of warnings on the static AllAvailableLocales class is a
>>> bit of a puzzle. Maybe it's OK to leave the suppression for that entire
>>> class.
>>>
>>> s'marks
>>>
>>>
>>> On 12/2/11 2:24 PM, Masayoshi Okutsu wrote:
>>>> Looks good to me.
>>>>
>>>> Thanks,
>>>> Masayoshi
>>>>
>>>> On 2011/12/02 10:56, Naoto Sato wrote:
>>>>> Hello,
>>>>>
>>>>> Could you please review these two changesets for the WCD? One is for
>>>>> classes
>>>>> that belongs to input method framework:
>>>>>
>>>>> http://cr.openjdk.java.net/~naoto/7117465/webrev.00/
>>>>>
>>>>> and the other is for (some of the) i18n related *.util.* classes:
>>>>>
>>>>> http://cr.openjdk.java.net/~naoto/7117469/webrev.00/
>>>>>
>>>>> Thanks!
>>>>> Naoto
>>


From artem.ananiev at oracle.com  Mon Dec  5 11:37:59 2011
From: artem.ananiev at oracle.com (Artem Ananiev)
Date: Mon, 05 Dec 2011 23:37:59 +0400
Subject: [8] Review request for 7117008: warning cleanup in sun.awt
Message-ID: <4EDD1D97.3020304@oracle.com>

Hi, AWT team,

here is a fix for 7117008, which is about javac warning cleanup in the 
sun.awt package:

http://cr.openjdk.java.net/~art/jdk8/7117008/

As a part of this fix, I'm deleting several classes, which haven't been 
changed since 1995. They are not referenced anywhere in the JDK 
workspace, and they are not public API, so I consider them safe to 
remove. Please, let me know if you feel these files should stay in the 
workspace.

Thanks,

Artem

From kurchi.subhra.hazra at oracle.com  Mon Dec  5 11:49:21 2011
From: kurchi.subhra.hazra at oracle.com (Kurchi Hazra)
Date: Mon, 05 Dec 2011 11:49:21 -0800
Subject: Review Request: Warnings cleanup in sun.management and its
	subpackages
In-Reply-To: <4EDCF4FD.9020806@oracle.com>
References: <4ED95AC4.2090905@oracle.com> <4EDCF4FD.9020806@oracle.com>
Message-ID: <4EDD2041.2060606@oracle.com>



On 12/5/2011 8:44 AM, Chris Hegarty wrote:
>
> Some trivial comments:
>   ConnectorAddressLink.java
>     L172 - L178, you can use 'for(Counter c: counters)' and remove
>     subsequent redundant cases.
>   MappedMXBeanType.java
>     L76, cast to (Class<?) ???

Thanks! I changed these.

>
> Some of the public classes have API changes. Are these classes in any 
> way supported? Some have Javadoc comments that would make me think 
> this, but maybe not given the name space.

I tried being careful - but I guess I did touch public classes. Maybe I 
will wait for Mandy's review and go over these again, and then send out 
a final webrev.


- Kurchi


>
> -Chris.
>
> On 02/12/2011 23:09, Kurchi Hazra wrote:
>> Hi,
>>
>> http://cr.openjdk.java.net/~khazra/7117570/webrev.00/
>>
>> Please review this webrev that cleans warnings in sun.management and its
>> subpackages. These packages are now warning-free I believe.
>>
>> Looking forward to your comments. I have used the serialver tool to
>> generate all the serial version UIDs that I have added.
>>
>>
>>
>> Thanks,
>>
>> Kurchi
>>

-- 
-Kurchi


From dbhole at redhat.com  Mon Dec  5 12:30:50 2011
From: dbhole at redhat.com (Deepak Bhole)
Date: Mon, 5 Dec 2011 15:30:50 -0500
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <21DB2F64-8352-4574-8EFB-58A0C563D907@oracle.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<20111202184726.GX2461@redhat.com>
	<21DB2F64-8352-4574-8EFB-58A0C563D907@oracle.com>
Message-ID: <20111205203050.GL8668@redhat.com>

* John Rose <john.r.rose at oracle.com> [2011-12-02 17:12]:
>    On Dec 2, 2011, at 10:47 AM, Deepak Bhole wrote:
> 
>      (Netbeans can find opportunities for diamond operators, BTW.)
> 
>      The new parameters <K extends Attribute, V> are clearly more
>      correct, but they look like an API change on a public method or
>      constructor.  If so, I think you'll have to find a different
>      approach.  (But I'm not an API change and generics expert.)
> 
>    Do you mean the changes in the AttributedString constructor? I just
>    added names for the bounded and unbound wildcards so that they could be
>    used in the body (without it, the compiler was throwing errors).
>    I am not expert on these either -- I didn't know adding names could
>    change signature in an incompatible way.
>    I just wrote a small test case to try this out and everything seems to
>    work fine. Adding named parameters does not appear to break
>    compatibility in my test case.
> 
>    Since this is an important point, I checked into it.  Result: Wildcards
>    cannot (in general) be compatibly switched with named type parameters
>    in public APIs.
>    See the demonstration here:
>      [1]https://gist.github.com/1424776
>    (This is subject to correction by someone more expert than me in API
>    evolution, like Alex Buckley, Joe Darcy, or Maurizio Cimadamore.  I'm a
>    JVM hacker!)
> 

Thanks for the pointer! Yes, it is rather unfortunate that it cannot
changed then :( I have reverted it and added a more localized @SW
instead.

>      For createRunAttributeDataVectors, ensureRunBreak, etc. consider
>      pushing the @SuppressWarnings down onto the individual declarations.
>       It is best to put @SuppressWarnings on the smallest program unit
>      possible, and a local variable declaration is often the right spot.
>       I see that createRunAttributeDataVectors could be viewed as simple
>      enough to mark as a whole, but ensureRunBreak is probably too
>      complex to mark as a whole.
> 
>    Doh! Good point.
>    For DictionaryBasedBreakIterator.divideUpDictionaryRange, I cannot add
>    it above the
>    "bestBreakPositions = (Stack<Integer>)(currentBreakPositions.clone());"
>    line
>    without refactoring. I done done a very minor refactor (use copy
>    constructor instead of clone) -- please let me know if it is
>    satisfactory.
> 
>    I'm OK with that.  Replacing clone by an equivalent copy constructor
>    looks trivial enough to me, even though it changes bytecode output.
> 

As mentioned in my other email to R?mi, the clone constructor was my
initial plan but didn't work. Instead I am just initializing a temp var
(so that I can add a localized @SW) and then assigning the outer scope
var to it.

>    As for others, I've narrowed it in the new webrev. Narrowing also
>    exposed a few more places I had missed in ensureRunBreak. Fixed now.
> 
>      In the same way, consider pushing the annotation into the body of
>      class AttributeEntry, even though that class is very simple.
> 
>    That one is for the declaration itself -- the warning is about the Map
>    supertype not being parameterized.
> 
>    I didn't get that clearly from the comment.  Suggest:
>    +// Suppress warning about raw Map.Entry. Parameterizing Map.Entry
>    correctly
>    +// requires changing return of getKey
>    ++// Must suppress the whole class to suppress warning about raw
>    supertype Map.Entry.
>    ++// Parameterizing Map.Entry correctly would requires changing return
>    of getKey.
> 

Done!

[ ... ]
> 
>    setIndex is deprecated, so I looked into what the method did and did it
>    at the call site. Sorry, I should have specifically mentioned this
>    re-factor in the original email :(
>    I am fine with just suppressing deprecation warning there. I have done
>    so in the new copy by adding the annotation to the method.
> 
>    Right.  Don't inline the deprecated method body.  Just suppress the
>    deprecation warning, with a comment.  (Maybe put the body expressions
>    in a comment, for the next person who touches the code.)
> 

I've added the deprecated method names in a comment. I avoided adding
the body just in case it changes by the time someone gets to it.

[ ... ]
> 
>    I saw Stuart's comments on this. Didn't know that there was a way to
>    find
>    existing serialid (I thought Eclipse just generated a random one)! I
>    have added
>    the class default id.
> 
>    Yep.  SW("serial") seems to be the wrong thing, almost everywhere.
> 

Out of curiosity, why is this? Is it because not having a serial can
cause invalid class errors or are there other reasons?

Thanks for taking a look. New webrev:
http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.02/

As with before, diff between rev 01 and 02 is there too:
http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.02/rev-01-02.patch

Cheers,
Deepak

From mandy.chung at oracle.com  Mon Dec  5 16:28:41 2011
From: mandy.chung at oracle.com (Mandy Chung)
Date: Mon, 05 Dec 2011 16:28:41 -0800
Subject: Review Request: Warnings cleanup in sun.management and its
	subpackages
In-Reply-To: <4ED95AC4.2090905@oracle.com>
References: <4ED95AC4.2090905@oracle.com>
Message-ID: <4EDD61B9.2030804@oracle.com>

On 12/2/11 3:09 PM, Kurchi Hazra wrote:
> Hi,
>
> http://cr.openjdk.java.net/~khazra/7117570/webrev.00/
All these classes are implementation classes. These classes were
implemented before the 1.5 language features were integrated.
Below I included the suggestion to replace iterator with foreach
since you are already in that file.

Agent.java
    L221, 229: Since you're in that file, can you change it to
    call the UnsupportedOperationException(String msg, Throwable cause)
    constructor so that the cause exception is available?

    L252-271: it would be good to replace this try-finally with
    try-with-resource.

ConnectorAddressLink.java
    L120-128: it'd be better to change this to use foreach.
    L172-173: the variable c in the for-loop should be
       of type Counter.

GarbageCollectorImpl.java
    L76: another good candidate to use foreach.

HotspotCompilation.java
    L139-144: another good candidate to use foreach.

LazyCompositeData.java
    L162: for (String item : allItems) {...}

MappedMXBeanType.java
    L76, 88: the cast should be fixed to "(Class<>)"
    L229, 759: I think these suppressed warnings can be eliminated.
      I have to study it a little bit to determine what we can do
      with this file and get back to you.

NotificationEmitterSupport.java
    This class was copied fromjavax.management.NotificationBroadcasterSupport
    when it was implemented but the jmx class has been updated since then.
    It didn't use javax.management.NotificationBroadcasterSupport directly
    to avoid loading the jmx classes if java.lang.management is used locally
    with no jmx agent created.  I think it's time to update this class
    and I'll submit a CR for that.  Your change is fine.

ConnectorBootstrap.java
    L237: nit: this extra line which can be removed.

AdaptorBootstrap.java
    L130, 133: The com.sun.jmx.snmp API is not generified (it's internal API).
    Although the javadoc states that the getTrapDestinations method returns
    an enumeration of InetAddress, I think it'd be better for this change
    to wait until the com.sun.jmx.snmp API is updated.

JvmMemManagerTableMetaImpl.java
    L70: should be indented (looks like it was accidentially removed
    in your change).

    L122: the returned type should be List<MemoryManagerMXBean>, right?

    L107: JvmContextFactory.getUserData() returns a Map<Object,Object>
      which is the current implementation.  This strikes me that
      this may lead to some type casting somewhere.
      e.g. JvmMemoryImpl.java L160 - this casts the key to MemoryUsage.
      Shouldn't javac issue unchecked warning for this?  I wonder if
      you see any other warnings.

    I didn't review the rest of the snmp files (up to the JvmMemoryImpl.java
    file).  It takes longer that I expect.  It was very old code and
    looks like that it requires more investigation.  I suggest to separate
    the snmp change and first get the non-snmp files warning cleaned and
    continue with the snmp one next.

Thanks
Mandy



From david.katleman at oracle.com  Mon Dec  5 16:33:56 2011
From: david.katleman at oracle.com (David Katleman)
Date: Mon, 05 Dec 2011 16:33:56 -0800
Subject: Review Request: 7117162: jdk8/jaxws/Makefile default DROPS_DIR should
	set to jdk8-drops
Message-ID: <4EDD62F4.9070804@oracle.com>

Hello!

Hopefully a simple straightforward fix to

     7117162: jdk8/jaxws/Makefile default DROPS_DIR should set to jdk8-drops

Consists of updating the jdk7 drop references to jdk8.

http://cr.openjdk.java.net/~katleman/7117162/jaxws/webrev.00/
http://cr.openjdk.java.net/~katleman/7117162/jaxp/webrev.00/

Yes, I'm aware of the rumblings to drop "DROPS" altogether in JDK8.  
Until that happens, this ensures the existing mechanism looks at the 
correct release by default.

             Thanks
                         Dave



From kelly.ohair at oracle.com  Mon Dec  5 16:48:05 2011
From: kelly.ohair at oracle.com (Kelly O'Hair)
Date: Mon, 5 Dec 2011 16:48:05 -0800
Subject: Review Request: 7117162: jdk8/jaxws/Makefile default DROPS_DIR
	should set to jdk8-drops
In-Reply-To: <4EDD62F4.9070804@oracle.com>
References: <4EDD62F4.9070804@oracle.com>
Message-ID: <0CBA8E73-2B7E-4A4F-9944-732CC916E8F4@oracle.com>

Looks good.

-kto

On Dec 5, 2011, at 4:33 PM, David Katleman wrote:

> Hello!
> 
> Hopefully a simple straightforward fix to
> 
>    7117162: jdk8/jaxws/Makefile default DROPS_DIR should set to jdk8-drops
> 
> Consists of updating the jdk7 drop references to jdk8.
> 
> http://cr.openjdk.java.net/~katleman/7117162/jaxws/webrev.00/
> http://cr.openjdk.java.net/~katleman/7117162/jaxp/webrev.00/
> 
> Yes, I'm aware of the rumblings to drop "DROPS" altogether in JDK8.  Until that happens, this ensures the existing mechanism looks at the correct release by default.
> 
>            Thanks
>                        Dave
> 
> 


From stuart.marks at oracle.com  Mon Dec  5 16:49:52 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Mon, 05 Dec 2011 16:49:52 -0800
Subject: Review Request: Warnings cleanup in sun.management and its
	subpackages
In-Reply-To: <4EDD61B9.2030804@oracle.com>
References: <4ED95AC4.2090905@oracle.com> <4EDD61B9.2030804@oracle.com>
Message-ID: <4EDD66B0.6000404@oracle.com>

Hi Mandy,

Thanks for the thorough review.

For warnings cleanup, we've been trying to avoid including refactorings like 
changing Enumerations to Iterator or to the enhanced-for loop. Changes to use 
try-with-resources also fall into this category. But I've been OK with such 
changes if the primary maintainer of the area is OK with them. Are you 
comfortable giving the go-ahead for these kinds of changes? I assume you are, 
since you suggested them, but I just wanted to double check.

Also, would any additional testing be required before these changes go in?

s'marks

On 12/5/11 4:28 PM, Mandy Chung wrote:
> On 12/2/11 3:09 PM, Kurchi Hazra wrote:
>> Hi,
>>
>> http://cr.openjdk.java.net/~khazra/7117570/webrev.00/
> All these classes are implementation classes. These classes were
> implemented before the 1.5 language features were integrated.
> Below I included the suggestion to replace iterator with foreach
> since you are already in that file.
>
> Agent.java
> L221, 229: Since you're in that file, can you change it to
> call the UnsupportedOperationException(String msg, Throwable cause)
> constructor so that the cause exception is available?
>
> L252-271: it would be good to replace this try-finally with
> try-with-resource.
>
> ConnectorAddressLink.java
> L120-128: it'd be better to change this to use foreach.
> L172-173: the variable c in the for-loop should be
> of type Counter.
>
> GarbageCollectorImpl.java
> L76: another good candidate to use foreach.
>
> HotspotCompilation.java
> L139-144: another good candidate to use foreach.
>
> LazyCompositeData.java
> L162: for (String item : allItems) {...}
>
> MappedMXBeanType.java
> L76, 88: the cast should be fixed to "(Class<>)"
> L229, 759: I think these suppressed warnings can be eliminated.
> I have to study it a little bit to determine what we can do
> with this file and get back to you.
>
> NotificationEmitterSupport.java
> This class was copied fromjavax.management.NotificationBroadcasterSupport
> when it was implemented but the jmx class has been updated since then.
> It didn't use javax.management.NotificationBroadcasterSupport directly
> to avoid loading the jmx classes if java.lang.management is used locally
> with no jmx agent created. I think it's time to update this class
> and I'll submit a CR for that. Your change is fine.
>
> ConnectorBootstrap.java
> L237: nit: this extra line which can be removed.
>
> AdaptorBootstrap.java
> L130, 133: The com.sun.jmx.snmp API is not generified (it's internal API).
> Although the javadoc states that the getTrapDestinations method returns
> an enumeration of InetAddress, I think it'd be better for this change
> to wait until the com.sun.jmx.snmp API is updated.
>
> JvmMemManagerTableMetaImpl.java
> L70: should be indented (looks like it was accidentially removed
> in your change).
>
> L122: the returned type should be List<MemoryManagerMXBean>, right?
>
> L107: JvmContextFactory.getUserData() returns a Map<Object,Object>
> which is the current implementation. This strikes me that
> this may lead to some type casting somewhere.
> e.g. JvmMemoryImpl.java L160 - this casts the key to MemoryUsage.
> Shouldn't javac issue unchecked warning for this? I wonder if
> you see any other warnings.
>
> I didn't review the rest of the snmp files (up to the JvmMemoryImpl.java
> file). It takes longer that I expect. It was very old code and
> looks like that it requires more investigation. I suggest to separate
> the snmp change and first get the non-snmp files warning cleaned and
> continue with the snmp one next.
>
> Thanks
> Mandy
>
>

From stuart.marks at oracle.com  Mon Dec  5 17:00:44 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Mon, 05 Dec 2011 17:00:44 -0800
Subject: Review request for IMF classes and Locale related classes
In-Reply-To: <4EDD14FF.9060603@oracle.com>
References: <4ED91F51.2020502@oracle.com> <4ED95018.3070808@oracle.com>
	<4ED96005.3000709@oracle.com> <4ED966AA.2010701@oracle.com>
	<4ED97E39.1050504@oracle.com> <4EDD14FF.9060603@oracle.com>
Message-ID: <4EDD693C.5010708@oracle.com>

Looks good! Please proceed with the push.

thanks.

s'marks


On 12/5/11 11:01 AM, Naoto Sato wrote:
> OK here is the revised one:
>
> http://cr.openjdk.java.net/~naoto/7117469/webrev.02/
>
> I hope this is the final :-)
>
> Naoto
>
> On 12/2/11 5:41 PM, Stuart Marks wrote:
>> The changes you made are good, thanks.
>>
>> I did figure out how to deal with the static initializer in
>> AllAvailableLocales:
>>
>> @SuppressWarnings({"unchecked"})
>> Class<? extends LocaleServiceProvider>[] providerClasses =
>> (Class<? extends LocaleServiceProvider>[]) new Class<?>[] {
>> java.text.spi.BreakIteratorProvider.class,
>> ...
>> };
>>
>> This is a bit uglier but it does reduce the scope of warnings suppression.
>>
>> I think you might be able to get rid of the wildcards, too:
>>
>> @SuppressWarnings({"unchecked"})
>> Class<LocaleServiceProvider>[] providerClasses =
>> (Class<LocaleServiceProvider>[]) new Class<?>[] {
>> java.text.spi.BreakIteratorProvider.class,
>> ...
>> };
>> ...
>> for (Class<LocaleServiceProvider> providerClass : providerClasses) {
>> ...
>> }
>>
>> I'm not entirely sure why this works, but it seems to compile for me
>> without warnings or errors....
>>
>> s'marks
>>
>>
>>
>> On 12/2/11 4:00 PM, Naoto Sato wrote:
>>> Hi Stuart,
>>>
>>> Thank you for your comments. Here is the updated webrev reflecting your
>>> suggestions. Please review:
>>>
>>> http://cr.openjdk.java.net/~naoto/7117469/webrev.01/
>>>
>>> Naoto
>>>
>>>
>>> On 12/2/11 3:32 PM, Stuart Marks wrote:
>>>> Hi Naoto,
>>>>
>>>> A couple comments.
>>>>
>>>> java/util/Currency.java --
>>>>
>>>> The @SuppressWarnings covers the entire method. We're trying to use
>>>> @SuppressWarnings with as narrow a scope as possible. Sometimes it's
>>>> helpful to create a local variable declaration for this purpose; perhaps
>>>> something like this will help:
>>>>
>>>> @SuppressedWarnings("unchecked")
>>>> Set<Currency> result = (Set<Currency>) available.clone();
>>>> return result;
>>>>
>>>> You can probably do something similar in
>>>> sun/util/LocaleServiceProviderPool.java in the getLocalizedObjectImpl()
>>>> method.
>>>>
>>>> The suppression of warnings on the static AllAvailableLocales class is a
>>>> bit of a puzzle. Maybe it's OK to leave the suppression for that entire
>>>> class.
>>>>
>>>> s'marks
>>>>
>>>>
>>>> On 12/2/11 2:24 PM, Masayoshi Okutsu wrote:
>>>>> Looks good to me.
>>>>>
>>>>> Thanks,
>>>>> Masayoshi
>>>>>
>>>>> On 2011/12/02 10:56, Naoto Sato wrote:
>>>>>> Hello,
>>>>>>
>>>>>> Could you please review these two changesets for the WCD? One is for
>>>>>> classes
>>>>>> that belongs to input method framework:
>>>>>>
>>>>>> http://cr.openjdk.java.net/~naoto/7117465/webrev.00/
>>>>>>
>>>>>> and the other is for (some of the) i18n related *.util.* classes:
>>>>>>
>>>>>> http://cr.openjdk.java.net/~naoto/7117469/webrev.00/
>>>>>>
>>>>>> Thanks!
>>>>>> Naoto
>>>
>

From xiomara.jayasena at oracle.com  Mon Dec  5 17:00:53 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Mon, 5 Dec 2011 17:00:53 -0800 (PST)
Subject: Review Request: 7117162: jdk8/jaxws/Makefile default DROPS_DIR
	should set to jdk8-drops
In-Reply-To: <4EDD62F4.9070804@oracle.com>
References: <4EDD62F4.9070804@oracle.com>
Message-ID: <0fb827cb-72f7-416a-9f8b-d028184b9eef@default>


The changes look fine to me.  This should probably have gone to the build-dev alias instead, for review.

-Xiomara


> -----Original Message-----
> From: David Katleman
> Sent: Monday, December 05, 2011 4:34 PM
> To: jdk8-dev at openjdk.java.net
> Subject: Review Request: 7117162: jdk8/jaxws/Makefile default DROPS_DIR
> should set to jdk8-drops
> 
> Hello!
> 
> Hopefully a simple straightforward fix to
> 
>      7117162: jdk8/jaxws/Makefile default DROPS_DIR should set to jdk8-
> drops
> 
> Consists of updating the jdk7 drop references to jdk8.
> 
> http://cr.openjdk.java.net/~katleman/7117162/jaxws/webrev.00/
> http://cr.openjdk.java.net/~katleman/7117162/jaxp/webrev.00/
> 
> Yes, I'm aware of the rumblings to drop "DROPS" altogether in JDK8.
> Until that happens, this ensures the existing mechanism looks at the
> correct release by default.
> 
>              Thanks
>                          Dave
> 
> 

From mandy.chung at oracle.com  Mon Dec  5 17:15:42 2011
From: mandy.chung at oracle.com (Mandy Chung)
Date: Mon, 05 Dec 2011 17:15:42 -0800
Subject: Review Request: 7117162: jdk8/jaxws/Makefile default DROPS_DIR
	should set to jdk8-drops
In-Reply-To: <4EDD62F4.9070804@oracle.com>
References: <4EDD62F4.9070804@oracle.com>
Message-ID: <4EDD6CBE.2080600@oracle.com>

Looks good.

Mandy

On 12/5/11 4:33 PM, David Katleman wrote:
> Hello!
>
> Hopefully a simple straightforward fix to
>
>     7117162: jdk8/jaxws/Makefile default DROPS_DIR should set to 
> jdk8-drops
>
> Consists of updating the jdk7 drop references to jdk8.
>
> http://cr.openjdk.java.net/~katleman/7117162/jaxws/webrev.00/
> http://cr.openjdk.java.net/~katleman/7117162/jaxp/webrev.00/
>
> Yes, I'm aware of the rumblings to drop "DROPS" altogether in JDK8.  
> Until that happens, this ensures the existing mechanism looks at the 
> correct release by default.
>
>             Thanks
>                         Dave
>
>


From mandy.chung at oracle.com  Mon Dec  5 17:42:24 2011
From: mandy.chung at oracle.com (Mandy Chung)
Date: Mon, 05 Dec 2011 17:42:24 -0800
Subject: Review Request: Warnings cleanup in sun.management and its
	subpackages
In-Reply-To: <4EDD66B0.6000404@oracle.com>
References: <4ED95AC4.2090905@oracle.com> <4EDD61B9.2030804@oracle.com>
	<4EDD66B0.6000404@oracle.com>
Message-ID: <4EDD7300.4000203@oracle.com>

On 12/5/11 4:49 PM, Stuart Marks wrote:
> Hi Mandy,
>
> Thanks for the thorough review.
>
> For warnings cleanup, we've been trying to avoid including 
> refactorings like changing Enumerations to Iterator or to the 
> enhanced-for loop. Changes to use try-with-resources also fall into 
> this category. But I've been OK with such changes if the primary 
> maintainer of the area is OK with them. 

I agree that we should avoid refactoring from warnings cleanup in 
general.  So I try to be cautious about where to suggest replacing the 
iterator with foreach (this is the main suggestion) and also keep them 
to the lines that Kurchi already modified.

I no longer work on this area but I'm sure the serviceability team will 
appreciate this cleanup.

I wasn't sure to suggest try-with-resources initially but Kurchi already 
included such change in her webrev.  So the testing required for her 
change should cover it :-)

> Are you comfortable giving the go-ahead for these kinds of changes? I 
> assume you are, since you suggested them, but I just wanted to double 
> check.

I'm comfortable for the places suggested in my comment as they are 
trivial ones.  I would not recommend to look for other refactoring 
opportunity besides them (e.g. the snmp files are more convoluted).

>
> Also, would any additional testing be required before these changes go 
> in?
>

Thanks for asking.  I meant to mention it - jdk_lang and jdk_management 
test targets.  java.lang.management tests are included in the jdk_lang 
target.  jdk_management includes the sun.management tests and it also 
includes jmx tests which Kurchi's change didn't touch that area but no 
harm to run that and make the jprt submission simpler.

Thanks
Mandy

From artem.ananiev at oracle.com  Tue Dec  6 02:15:13 2011
From: artem.ananiev at oracle.com (Artem Ananiev)
Date: Tue, 06 Dec 2011 14:15:13 +0400
Subject: Result: New JDK8 Committer: Alexander Scherbatiy
Message-ID: <4EDDEB31.4090208@oracle.com>


Voting for Alexander Scherbatiy [1] is now closed.

Yes: 14
Veto: 0
Abstain: 3

According to the Bylaws definition of Lazy Consensus, this is sufficient 
to approve the nomination.

Thanks,

Artem

[1] 
http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-November/000261.html


From anthony.petrov at oracle.com  Tue Dec  6 04:31:42 2011
From: anthony.petrov at oracle.com (Anthony Petrov)
Date: Tue, 06 Dec 2011 16:31:42 +0400
Subject: <AWT Dev> [8] Review request for 7117008: warning cleanup in
	sun.awt
In-Reply-To: <4EDD1D97.3020304@oracle.com>
References: <4EDD1D97.3020304@oracle.com>
Message-ID: <4EDE0B2E.3020205@oracle.com>

Hi Artem,

The fix looks fine to me.

--
best regards,
Anthony

On 12/5/2011 11:37 PM, Artem Ananiev wrote:
> Hi, AWT team,
> 
> here is a fix for 7117008, which is about javac warning cleanup in the 
> sun.awt package:
> 
> http://cr.openjdk.java.net/~art/jdk8/7117008/
> 
> As a part of this fix, I'm deleting several classes, which haven't been 
> changed since 1995. They are not referenced anywhere in the JDK 
> workspace, and they are not public API, so I consider them safe to 
> remove. Please, let me know if you feel these files should stay in the 
> workspace.
> 
> Thanks,
> 
> Artem

From stuart.marks at oracle.com  Tue Dec  6 15:42:15 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Tue, 06 Dec 2011 15:42:15 -0800
Subject: review request (M): 7117167: Misc warnings in java.lang.invoke
	and sun.invoke.*
In-Reply-To: <454EA54E-6326-4621-A9DC-D03688F1B9AD@oracle.com>
References: <454EA54E-6326-4621-A9DC-D03688F1B9AD@oracle.com>
Message-ID: <4EDEA857.9080605@oracle.com>


On 12/1/11 3:12 PM, John Rose wrote:
> 7117167: Misc warnings in java.lang.invoke and sun.invoke.*
>
> http://cr.openjdk.java.net/~jrose/7117167/webrev.00/
>
> Removing build warnings from java.lang.invoke and sun.invoke.*, as part of the December 2011 cleanup effort.

Hi John,

I'm finally getting back to this. Just a couple comments:

MethodHandles.java --

The change here is to add a wildcard type parameter to the parameter of the 
unreflectConstructor() method. I believe this is a public API. Is such a change 
permitted? I started thinking about compatibility, but compatibility is 
actually a side issue. The main issue is whether it's a spec change. I think it 
is, but I have to admit that not really sure. But if it is a spec change, I 
don't think we should be making it in the context of warnings cleanup.

MethodHandleImpl.java --

Just an observation, really, but I puzzled for a while over the suppression of 
rawtypes and unchecked warnings at the construction of AllocateObject (L115). 
As I looked further I realized, "oh *that's* what Remi was talking about." [1] 
On the other hand I see your point that the class declaration AllocateObject<C> 
and uses of C within that class really do make sense. Perhaps this is the time 
when one really wants to write

     new AllocateObject<?>(...)

but of course this is illegal. I don't have a specific recommendation to change 
anything here. It's just that whenever there's code that's puzzling, I'm always 
looking around for a better way to write it.

Anyway, that's it, everything else looks fine.

s'marks

[1] http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-December/000406.html




From john.r.rose at oracle.com  Tue Dec  6 17:26:46 2011
From: john.r.rose at oracle.com (John Rose)
Date: Tue, 6 Dec 2011 17:26:46 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <20111205203050.GL8668@redhat.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<20111202184726.GX2461@redhat.com>
	<21DB2F64-8352-4574-8EFB-58A0C563D907@oracle.com>
	<20111205203050.GL8668@redhat.com>
Message-ID: <FC2F76EA-9A99-4E27-9D50-4242B684A59A@oracle.com>

On Dec 5, 2011, at 12:30 PM, Deepak Bhole wrote:

>>   Since this is an important point, I checked into it.  Result: Wildcards
>>   cannot (in general) be compatibly switched with named type parameters
>>   in public APIs.
>>   See the demonstration here:
>>     [1]https://gist.github.com/1424776
>>   (This is subject to correction by someone more expert than me in API
>>   evolution, like Alex Buckley, Joe Darcy, or Maurizio Cimadamore.  I'm a
>>   JVM hacker!)
>> 
> 
> Thanks for the pointer! Yes, it is rather unfortunate that it cannot
> changed then :( I have reverted it and added a more localized @SW
> instead.

Good.  I puzzled some more over the localized @SW and found a formulation
that does not require any @SW at all.  It's a matter of choosing wildcards very
carefully.  See patch below.

Basically, it's one of those cases where a type T isn't good enough, but a type
"? extends T" will do the job.  (I can't tell you all such cases, but this is one of them!)

>>   I'm OK with that.  Replacing clone by an equivalent copy constructor
>>   looks trivial enough to me, even though it changes bytecode output.
>> 
> 
> As mentioned in my other email to R?mi, the clone constructor was my
> initial plan but didn't work. Instead I am just initializing a temp var
> (so that I can add a localized @SW) and then assigning the outer scope
> var to it.

Good.

>>   Yep.  SW("serial") seems to be the wrong thing, almost everywhere.
> 
> Out of curiosity, why is this? Is it because not having a serial can
> cause invalid class errors or are there other reasons?

If you don't have a SVUID, the system makes one for you. (It is the same
one your IDE can generate explicitly.)  If you way @SW("serial"), you are
telling the system that it can adjust the SVUID at will.  You get into trouble
with this if somebody adds another (non-transient) field.  This changes the
implicit SVUID.  This can lead to surprising results down the road.

> Thanks for taking a look. New webrev:
> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.02/
> 
> As with before, diff between rev 01 and 02 is there too:
> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.02/rev-01-02.patch



On Dec 2, 2011, at 2:12 PM, John Rose wrote:

>>> In the same way, consider pushing the annotation into the body of class AttributeEntry, even though that class is very simple.
>>> 
>> 
>> That one is for the declaration itself -- the warning is about the Map
>> supertype not being parameterized.
> 
> 
> I didn't get that clearly from the comment.  Suggest:
> +// Suppress warning about raw Map.Entry. Parameterizing Map.Entry correctly 
> +// requires changing return of getKey
> ++// Must suppress the whole class to suppress warning about raw supertype Map.Entry.
> ++// Parameterizing Map.Entry correctly would requires changing return of getKey.

I went back to class AttributeEntry and realized that it also does not need @SW.
Since it is a non-public class, it is OK to change the supertype and the return value
of getKey.  A simple correction to the type parameters of a non-public name is in
scope for this project, as I read Stuart here:
  http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-December/000380.html

-+// Must suppress the whole class to suppress warning about raw supertype Map.Entry.
-+// Parameterizing Map.Entry correctly would requires changing return of getKey.
-+ at SuppressWarnings("rawtypes")
-class AttributeEntry implements Map.Entry {
++class AttributeEntry implements Map.Entry<Attribute,Object> {
...
-    public Object getKey() {
++    public Attribute getKey() {

(I could be mistaken about this; please double check.  I made a public API
mistake in my own java.lang.invoke warnings cleanup!)

Also, I noticed some extraneous blank lines surrounding @SW occurrences.
They aren't needed.  Also, a few occurrences of @SW({"foo"}) do not need
the braces:  @SW("foo").

Here are all the adjustments I suggest, in one patch:
  https://gist.github.com/1440966

See if they work for you.  If so, we're done.

-- John

From john.r.rose at oracle.com  Tue Dec  6 17:35:01 2011
From: john.r.rose at oracle.com (John Rose)
Date: Tue, 6 Dec 2011 17:35:01 -0800
Subject: review request (M): 7117167: Misc warnings in java.lang.invoke
	and sun.invoke.*
In-Reply-To: <4EDEA857.9080605@oracle.com>
References: <454EA54E-6326-4621-A9DC-D03688F1B9AD@oracle.com>
	<4EDEA857.9080605@oracle.com>
Message-ID: <8B7A5715-0FC9-4E0D-9A3E-E4AC33FCE4E2@oracle.com>

On Dec 6, 2011, at 3:42 PM, Stuart Marks wrote:

> On 12/1/11 3:12 PM, John Rose wrote:
>> 7117167: Misc warnings in java.lang.invoke and sun.invoke.*
>> 
>> http://cr.openjdk.java.net/~jrose/7117167/webrev.00/
>> 
>> Removing build warnings from java.lang.invoke and sun.invoke.*, as part of the December 2011 cleanup effort.
> 
> Hi John,
> 
> I'm finally getting back to this. Just a couple comments:
> 
> MethodHandles.java --
> 
> The change here is to add a wildcard type parameter to the parameter of the unreflectConstructor() method. I believe this is a public API. Is such a change permitted? I started thinking about compatibility, but compatibility is actually a side issue. The main issue is whether it's a spec change. I think it is, but I have to admit that not really sure. But if it is a spec change, I don't think we should be making it in the context of warnings cleanup.

Foo; you are right.  That will require an small Act of Congress to fix.  I'll add it to my API cleanup list.

> MethodHandleImpl.java --
> 
> Just an observation, really, but I puzzled for a while over the suppression of rawtypes and unchecked warnings at the construction of AllocateObject (L115). As I looked further I realized, "oh *that's* what Remi was talking about." [1] On the other hand I see your point that the class declaration AllocateObject<C> and uses of C within that class really do make sense. Perhaps this is the time when one really wants to write
> 
>    new AllocateObject<?>(...)
> 
> but of course this is illegal. I don't have a specific recommendation to change anything here. It's just that whenever there's code that's puzzling, I'm always looking around for a better way to write it.

I am currently working on minimizing MethodHandleImpl.java, and AllocateObject may go away, so I would rather just leave it as is for the moment.

> Anyway, that's it, everything else looks fine.

Thanks!

-- John

> s'marks
> 
> [1] http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-December/000406.html


From kurchi.subhra.hazra at oracle.com  Wed Dec  7 08:12:55 2011
From: kurchi.subhra.hazra at oracle.com (Kurchi Hazra)
Date: Wed, 7 Dec 2011 08:12:55 -0800 (PST)
Subject: Review Request: Warnings cleanup in sun.management and its
	subpackages
In-Reply-To: <4EDD7300.4000203@oracle.com>
References: <4ED95AC4.2090905@oracle.com> <4EDD61B9.2030804@oracle.com>
	<4EDD66B0.6000404@oracle.com> <4EDD7300.4000203@oracle.com>
Message-ID: <4EDF9087.7080808@oracle.com>


>
>>
>> Also, would any additional testing be required before these changes 
>> go in?
>>
>
> Thanks for asking.  I meant to mention it - jdk_lang and 
> jdk_management test targets.  java.lang.management tests are included 
> in the jdk_lang target.  jdk_management includes the sun.management 
> tests and it also includes jmx tests which Kurchi's change didn't 
> touch that area but no harm to run that and make the jprt submission 
> simpler.

Hi Mandy,

    I ran the jdk_land and jdk_management tests from jdk/test folder 
with and without my changes. I get 8 failures. Is this normal?

Thanks,
Kurchi


From mandy.chung at oracle.com  Wed Dec  7 09:48:42 2011
From: mandy.chung at oracle.com (Mandy Chung)
Date: Wed, 07 Dec 2011 09:48:42 -0800
Subject: Review Request: Warnings cleanup in sun.management and its
	subpackages
In-Reply-To: <4EDF9087.7080808@oracle.com>
References: <4ED95AC4.2090905@oracle.com> <4EDD61B9.2030804@oracle.com>
	<4EDD66B0.6000404@oracle.com> <4EDD7300.4000203@oracle.com>
	<4EDF9087.7080808@oracle.com>
Message-ID: <4EDFA6FA.4060109@oracle.com>

On 12/7/2011 8:12 AM, Kurchi Hazra wrote:
> Hi Mandy,
>
>    I ran the jdk_land and jdk_management tests from jdk/test folder 
> with and without my changes. I get 8 failures. Is this normal? 

I haven't run the latest jdk8 tests lately.  There has been works to 
improve the test reliability that I think the default test set should 
pass.  But I believe there is some test reliability issue with a few 
management tests using a hardcoded port etc that should have been 
excluded in the ProblemList.

Can you send me the test logs?  I'll have to take a look.

Mandy

From david.katleman at sun.com  Wed Dec  7 15:19:22 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Wed, 07 Dec 2011 23:19:22 +0000
Subject: hg: jdk8/jdk8/jaxp: 2 new changesets
Message-ID: <20111207231922.814BA4763B@hg.openjdk.java.net>

Changeset: e32444f13774
Author:    katleman
Date:      2011-12-06 08:43 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/e32444f13774

7117162: jdk8/jaxws/Makefile default DROPS_DIR should set to jdk8-drops
Reviewed-by: ohair, xdono, mchung

! build.properties
! make/Makefile

Changeset: 09eb517404b0
Author:    katleman
Date:      2011-12-07 13:02 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/09eb517404b0

Merge



From david.katleman at sun.com  Wed Dec  7 15:19:32 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Wed, 07 Dec 2011 23:19:32 +0000
Subject: hg: jdk8/jdk8/jaxws: 2 new changesets
Message-ID: <20111207231932.E1F954763C@hg.openjdk.java.net>

Changeset: 23c42f40fd3e
Author:    katleman
Date:      2011-12-06 08:43 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/23c42f40fd3e

7117162: jdk8/jaxws/Makefile default DROPS_DIR should set to jdk8-drops
Reviewed-by: ohair, xdono, mchung

! build.properties
! make/Makefile

Changeset: 3d45ab79643d
Author:    katleman
Date:      2011-12-07 13:02 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/3d45ab79643d

Merge



From Alan.Bateman at oracle.com  Thu Dec  8 03:42:08 2011
From: Alan.Bateman at oracle.com (Alan Bateman)
Date: Thu, 08 Dec 2011 11:42:08 +0000
Subject: Review Request: Warnings cleanup in sun.management and its
	subpackages
In-Reply-To: <4EDF9087.7080808@oracle.com>
References: <4ED95AC4.2090905@oracle.com> <4EDD61B9.2030804@oracle.com>
	<4EDD66B0.6000404@oracle.com> <4EDD7300.4000203@oracle.com>
	<4EDF9087.7080808@oracle.com>
Message-ID: <4EE0A290.6040201@oracle.com>

On 07/12/2011 16:12, Kurchi Hazra wrote:
> :
>
> Hi Mandy,
>
>    I ran the jdk_land and jdk_management tests from jdk/test folder 
> with and without my changes. I get 8 failures. Is this normal?
All the tests should pass. Does 8 failures mean the same test failing on 
8 hardware/OS combinations or 8 distinct failures. If the former then I 
would suggest following up on serviceability-dev. Also check that you 
are using the the problem list, which the jdk_lang and jdk_management 
targets will use by default. If you've just run the 
java/lang/management/** and sun/management/** tests without specifying 
-exclude then you will be running tests that are known to have issues 
(they should not be run).

-Alan.

From john_platts at hotmail.com  Thu Dec  8 09:25:41 2011
From: john_platts at hotmail.com (John Platts)
Date: Thu, 8 Dec 2011 11:25:41 -0600
Subject: Optimizing arithmetic operations on processors with AVX2 support
Message-ID: <SNT116-W2262C48EB748262985C1529DB80@phx.gbl>


Here is an example of a class with an operation that can be optimized on a processor with AVX2 support:class ExampleClass {? ? public void ExampleOperation(ExampleClass y) {? ? ? ? a += y.a;? ? ? ? b *= y.b;? ? ? ? c += y.c;? ? ? ? d += y.d;? ? ? ? e += y.e;? ? ? ? f *= y.f;? ? ? ? g *= y.g;? ? ? ? h *= y.h;? ? }
? ? private int a;? ? private int b;? ? private int c;? ? private int d;? ? private int e;? ? private int f;? ? private int g;? ? private int h;}
The AVX2 instruction set includes gather instructions that can be used to read from primitive fields that are not contiguous to each other. The AVX2 instruction set will be implemented on the Intel Haswell microarchitecture processors.
In the example above, a JVM running on a processor with the AVX2 instruction set can optimize the ExampleOperation method as follows:- Reading the a, c, d, and e fields of both this and y using the VPGATHERDD instruction.- Performing the 4 addition operations simultaneously using the PADDD instruction.- Store the result of the addition operations in a, c, d, and e using the?PEXTRD instruction.- Reading the b, f, g, and h fields of both this and y using the VPGATHERDD instruction.- Performing the 4 multiplication operations simultaneously using the PMULLD instruction.- Store the result of the multiplication operations in b, f, g, and h using the PEXTRD instruction.
This optimization is perfectly legal under the Java Memory Model, since there are no volatile reads or volatile writes. However, this optimization would be illegal if a, b, c, d, e, f, g, or h were declared as volatile fields. This optimization must also respect constraints imposed by synchronized blocks, volatile reads, volatile writes, method calls, data dependencies, and strictfp semantics. This optimization would also need to be disabled if the method is being debugged by a Java debugger, as the Java debugger can step through each operation individually.
The point I am trying to illustrate is that Java programmers should not assume that the arithmetic operations performed by the ExampleOperation method are not guaranteed to execute in the sequence shown in the source code. This example also illustrates the importance of properly synchronization. Will this optimization get implemented in the Hotspot VM in the future? 		 	   		  

From shankar at vmware.com  Thu Dec  8 10:08:12 2011
From: shankar at vmware.com (Shankar Unni)
Date: Thu, 8 Dec 2011 10:08:12 -0800 (PST)
Subject: Optimizing arithmetic operations on processors with AVX2 support
In-Reply-To: <SNT116-W2262C48EB748262985C1529DB80@phx.gbl>
Message-ID: <5dfbcef2-6eee-4541-b129-155a386575a9@shankar-win1>

Such an assumption (in-order execution of statements) would be invalid even with the current memory model. There's nothing to stop the compilers from re-ordering the adds and multiplies so that they fill each other's pipeline delays.

So I don't think AVX2 brings anything new to the table in terms of perturbing the memory model.

----- Original Message -----
From: "John Platts" <john_platts at hotmail.com>
To: jdk8-dev at openjdk.java.net
Sent: Thursday, December 8, 2011 9:25:41 AM
Subject: Optimizing arithmetic operations on processors with AVX2 support


Here is an example of a class with an operation that can be optimized on a processor with AVX2 support:class ExampleClass {? ? public void ExampleOperation(ExampleClass y) {? ? ? ? a += y.a;? ? ? ? b *= y.b;? ? ? ? c += y.c;? ? ? ? d += y.d;? ? ? ? e += y.e;? ? ? ? f *= y.f;? ? ? ? g *= y.g;? ? ? ? h *= y.h;? ? }
? ? private int a;? ? private int b;? ? private int c;? ? private int d;? ? private int e;? ? private int f;? ? private int g;? ? private int h;}
The AVX2 instruction set includes gather instructions that can be used to read from primitive fields that are not contiguous to each other. The AVX2 instruction set will be implemented on the Intel Haswell microarchitecture processors.
In the example above, a JVM running on a processor with the AVX2 instruction set can optimize the ExampleOperation method as follows:- Reading the a, c, d, and e fields of both this and y using the VPGATHERDD instruction.- Performing the 4 addition operations simultaneously using the PADDD instruction.- Store the result of the addition operations in a, c, d, and e using the?PEXTRD instruction.- Reading the b, f, g, and h fields of both this and y using the VPGATHERDD instruction.- Performing the 4 multiplication operations simultaneously using the PMULLD instruction.- Store the result of the multiplication operations in b, f, g, and h using the PEXTRD instruction.
This optimization is perfectly legal under the Java Memory Model, since there are no volatile reads or volatile writes. However, this optimization would be illegal if a, b, c, d, e, f, g, or h were declared as volatile fields. This optimization must also respect constraints imposed by synchronized blocks, volatile reads, volatile writes, method calls, data dependencies, and strictfp semantics. This optimization would also need to be disabled if the method is being debugged by a Java debugger, as the Java debugger can step through each operation individually.
The point I am trying to illustrate is that Java programmers should not assume that the arithmetic operations performed by the ExampleOperation method are not guaranteed to execute in the sequence shown in the source code. This example also illustrates the importance of properly synchronization. Will this optimization get implemented in the Hotspot VM in the future? 		 	   		

From john_platts at hotmail.com  Thu Dec  8 10:41:12 2011
From: john_platts at hotmail.com (John Platts)
Date: Thu, 8 Dec 2011 12:41:12 -0600
Subject: Optimizing arithmetic operations on processors with AVX2 support
In-Reply-To: <5dfbcef2-6eee-4541-b129-155a386575a9@shankar-win1>
References: <SNT116-W2262C48EB748262985C1529DB80@phx.gbl>,
	<5dfbcef2-6eee-4541-b129-155a386575a9@shankar-win1>
Message-ID: <SNT116-W2686C590E30FF014C68B6C9DB80@phx.gbl>


I actually do agree with what Shankar said regarding the current Java memory model. However, the point that I was trying to illustrate is that the JIT compiler of a JVM can use the AVX2, SSE2, SSE3, and SSE4.1 instructions instead of the ordinary arithmetic instructions to optimize the performance of integer arithmetic operations on x86 processors with the AVX2 instruction set. I was also intending to show an example of how arithmetic operations can be re-ordered by a JVM implementation without violating the Java Memory Model.

----------------------------------------
> Date: Thu, 8 Dec 2011 10:08:12 -0800
> From: shankar at vmware.com
> To: john_platts at hotmail.com
> CC: jdk8-dev at openjdk.java.net
> Subject: Re: Optimizing arithmetic operations on processors with AVX2 support
>
> Such an assumption (in-order execution of statements) would be invalid even with the current memory model. There's nothing to stop the compilers from re-ordering the adds and multiplies so that they fill each other's pipeline delays.
>
> So I don't think AVX2 brings anything new to the table in terms of perturbing the memory model.
>
> ----- Original Message -----
> From: "John Platts" <john_platts at hotmail.com>
> To: jdk8-dev at openjdk.java.net
> Sent: Thursday, December 8, 2011 9:25:41 AM
> Subject: Optimizing arithmetic operations on processors with AVX2 support
>
>
> Here is an example of a class with an operation that can be optimized on a processor with AVX2 support:class ExampleClass {    public void ExampleOperation(ExampleClass y) {        a += y.a;        b *= y.b;        c += y.c;        d += y.d;        e += y.e;        f *= y.f;        g *= y.g;        h *= y.h;    }
>     private int a;    private int b;    private int c;    private int d;    private int e;    private int f;    private int g;    private int h;}
> The AVX2 instruction set includes gather instructions that can be used to read from primitive fields that are not contiguous to each other. The AVX2 instruction set will be implemented on the Intel Haswell microarchitecture processors.
> In the example above, a JVM running on a processor with the AVX2 instruction set can optimize the ExampleOperation method as follows:- Reading the a, c, d, and e fields of both this and y using the VPGATHERDD instruction.- Performing the 4 addition operations simultaneously using the PADDD instruction.- Store the result of the addition operations in a, c, d, and e using the PEXTRD instruction.- Reading the b, f, g, and h fields of both this and y using the VPGATHERDD instruction.- Performing the 4 multiplication operations simultaneously using the PMULLD instruction.- Store the result of the multiplication operations in b, f, g, and h using the PEXTRD instruction.
> This optimization is perfectly legal under the Java Memory Model, since there are no volatile reads or volatile writes. However, this optimization would be illegal if a, b, c, d, e, f, g, or h were declared as volatile fields. This optimization must also respect constraints imposed by synchronized blocks, volatile reads, volatile writes, method calls, data dependencies, and strictfp semantics. This optimization would also need to be disabled if the method is being debugged by a Java debugger, as the Java debugger can step through each operation individually.
> The point I am trying to illustrate is that Java programmers should not assume that the arithmetic operations performed by the ExampleOperation method are not guaranteed to execute in the sequence shown in the source code. This example also illustrates the importance of properly synchronization. Will this optimization get implemented in the Hotspot VM in the future?
 		 	   		  

From artem.ananiev at oracle.com  Thu Dec  8 10:59:42 2011
From: artem.ananiev at oracle.com (Artem Ananiev)
Date: Thu, 08 Dec 2011 22:59:42 +0400
Subject: Optimizing arithmetic operations on processors with AVX2 support
In-Reply-To: <SNT116-W2262C48EB748262985C1529DB80@phx.gbl>
References: <SNT116-W2262C48EB748262985C1529DB80@phx.gbl>
Message-ID: <4EE1091E.4020803@oracle.com>


Shouldn't it be discussed on the hotspot-dev alias?

Thanks,

Artem

On 12/8/2011 9:25 PM, John Platts wrote:
>
> Here is an example of a class with an operation that can be optimized on a processor with AVX2 support:class ExampleClass {    public void ExampleOperation(ExampleClass y) {        a += y.a;        b *= y.b;        c += y.c;        d += y.d;        e += y.e;        f *= y.f;        g *= y.g;        h *= y.h;    }
>      private int a;    private int b;    private int c;    private int d;    private int e;    private int f;    private int g;    private int h;}
> The AVX2 instruction set includes gather instructions that can be used to read from primitive fields that are not contiguous to each other. The AVX2 instruction set will be implemented on the Intel Haswell microarchitecture processors.
> In the example above, a JVM running on a processor with the AVX2 instruction set can optimize the ExampleOperation method as follows:- Reading the a, c, d, and e fields of both this and y using the VPGATHERDD instruction.- Performing the 4 addition operations simultaneously using the PADDD instruction.- Store the result of the addition operations in a, c, d, and e using the PEXTRD instruction.- Reading the b, f, g, and h fields of both this and y using the VPGATHERDD instruction.- Performing the 4 multiplication operations simultaneously using the PMULLD instruction.- Store the result of the multiplication operations in b, f, g, and h using the PEXTRD instruction.
> This optimization is perfectly legal under the Java Memory Model, since there are no volatile reads or volatile writes. However, this optimization would be illegal if a, b, c, d, e, f, g, or h were declared as volatile fields. This optimization must also respect constraints imposed by synchronized blocks, volatile reads, volatile writes, method calls, data dependencies, and strictfp semantics. This optimization would also need to be disabled if the method is being debugged by a Java debugger, as the Java debugger can step through each operation individually.
> The point I am trying to illustrate is that Java programmers should not assume that the arithmetic operations performed by the ExampleOperation method are not guaranteed to execute in the sequence shown in the source code. This example also illustrates the importance of properly synchronization. Will this optimization get implemented in the Hotspot VM in the future? 		 	   		

From paul.hohensee at oracle.com  Thu Dec  8 10:59:55 2011
From: paul.hohensee at oracle.com (Paul Hohensee)
Date: Thu, 08 Dec 2011 13:59:55 -0500
Subject: Optimizing arithmetic operations on processors with AVX2 support
In-Reply-To: <SNT116-W2686C590E30FF014C68B6C9DB80@phx.gbl>
References: <SNT116-W2262C48EB748262985C1529DB80@phx.gbl>,
	<5dfbcef2-6eee-4541-b129-155a386575a9@shankar-win1>
	<SNT116-W2686C590E30FF014C68B6C9DB80@phx.gbl>
Message-ID: <4EE1092B.2050408@oracle.com>

cc'ing hotspot-dev.

Paul

On 12/8/11 1:41 PM, John Platts wrote:
> I actually do agree with what Shankar said regarding the current Java memory model. However, the point that I was trying to illustrate is that the JIT compiler of a JVM can use the AVX2, SSE2, SSE3, and SSE4.1 instructions instead of the ordinary arithmetic instructions to optimize the performance of integer arithmetic operations on x86 processors with the AVX2 instruction set. I was also intending to show an example of how arithmetic operations can be re-ordered by a JVM implementation without violating the Java Memory Model.
>
> ----------------------------------------
>> Date: Thu, 8 Dec 2011 10:08:12 -0800
>> From: shankar at vmware.com
>> To: john_platts at hotmail.com
>> CC: jdk8-dev at openjdk.java.net
>> Subject: Re: Optimizing arithmetic operations on processors with AVX2 support
>>
>> Such an assumption (in-order execution of statements) would be invalid even with the current memory model. There's nothing to stop the compilers from re-ordering the adds and multiplies so that they fill each other's pipeline delays.
>>
>> So I don't think AVX2 brings anything new to the table in terms of perturbing the memory model.
>>
>> ----- Original Message -----
>> From: "John Platts"<john_platts at hotmail.com>
>> To: jdk8-dev at openjdk.java.net
>> Sent: Thursday, December 8, 2011 9:25:41 AM
>> Subject: Optimizing arithmetic operations on processors with AVX2 support
>>
>>
>> Here is an example of a class with an operation that can be optimized on a processor with AVX2 support:class ExampleClass {    public void ExampleOperation(ExampleClass y) {        a += y.a;        b *= y.b;        c += y.c;        d += y.d;        e += y.e;        f *= y.f;        g *= y.g;        h *= y.h;    }
>>      private int a;    private int b;    private int c;    private int d;    private int e;    private int f;    private int g;    private int h;}
>> The AVX2 instruction set includes gather instructions that can be used to read from primitive fields that are not contiguous to each other. The AVX2 instruction set will be implemented on the Intel Haswell microarchitecture processors.
>> In the example above, a JVM running on a processor with the AVX2 instruction set can optimize the ExampleOperation method as follows:- Reading the a, c, d, and e fields of both this and y using the VPGATHERDD instruction.- Performing the 4 addition operations simultaneously using the PADDD instruction.- Store the result of the addition operations in a, c, d, and e using the PEXTRD instruction.- Reading the b, f, g, and h fields of both this and y using the VPGATHERDD instruction.- Performing the 4 multiplication operations simultaneously using the PMULLD instruction.- Store the result of the multiplication operations in b, f, g, and h using the PEXTRD instruction.
>> This optimization is perfectly legal under the Java Memory Model, since there are no volatile reads or volatile writes. However, this optimization would be illegal if a, b, c, d, e, f, g, or h were declared as volatile fields. This optimization must also respect constraints imposed by synchronized blocks, volatile reads, volatile writes, method calls, data dependencies, and strictfp semantics. This optimization would also need to be disabled if the method is being debugged by a Java debugger, as the Java debugger can step through each operation individually.
>> The point I am trying to illustrate is that Java programmers should not assume that the arithmetic operations performed by the ExampleOperation method are not guaranteed to execute in the sequence shown in the source code. This example also illustrates the importance of properly synchronization. Will this optimization get implemented in the Hotspot VM in the future?
>   		 	   		

From vladimir.kozlov at oracle.com  Thu Dec  8 11:10:39 2011
From: vladimir.kozlov at oracle.com (Vladimir Kozlov)
Date: Thu, 08 Dec 2011 11:10:39 -0800
Subject: Optimizing arithmetic operations on processors with AVX2 support
In-Reply-To: <SNT116-W2686C590E30FF014C68B6C9DB80@phx.gbl>
References: <SNT116-W2262C48EB748262985C1529DB80@phx.gbl>,
	<5dfbcef2-6eee-4541-b129-155a386575a9@shankar-win1>
	<SNT116-W2686C590E30FF014C68B6C9DB80@phx.gbl>
Message-ID: <4EE10BAF.5030801@oracle.com>

First, there is no AVX2 hardware yet. Second, generating JIT code for vector 
arithmetic is on our TODO list but we can't say when it will be done.

Regards,
Vladimir

John Platts wrote:
> I actually do agree with what Shankar said regarding the current Java memory model. However, the point that I was trying to illustrate is that the JIT compiler of a JVM can use the AVX2, SSE2, SSE3, and SSE4.1 instructions instead of the ordinary arithmetic instructions to optimize the performance of integer arithmetic operations on x86 processors with the AVX2 instruction set. I was also intending to show an example of how arithmetic operations can be re-ordered by a JVM implementation without violating the Java Memory Model.
> 
> ----------------------------------------
>> Date: Thu, 8 Dec 2011 10:08:12 -0800
>> From: shankar at vmware.com
>> To: john_platts at hotmail.com
>> CC: jdk8-dev at openjdk.java.net
>> Subject: Re: Optimizing arithmetic operations on processors with AVX2 support
>>
>> Such an assumption (in-order execution of statements) would be invalid even with the current memory model. There's nothing to stop the compilers from re-ordering the adds and multiplies so that they fill each other's pipeline delays.
>>
>> So I don't think AVX2 brings anything new to the table in terms of perturbing the memory model.
>>
>> ----- Original Message -----
>> From: "John Platts" <john_platts at hotmail.com>
>> To: jdk8-dev at openjdk.java.net
>> Sent: Thursday, December 8, 2011 9:25:41 AM
>> Subject: Optimizing arithmetic operations on processors with AVX2 support
>>
>>
>> Here is an example of a class with an operation that can be optimized on a processor with AVX2 support:class ExampleClass {    public void ExampleOperation(ExampleClass y) {        a += y.a;        b *= y.b;        c += y.c;        d += y.d;        e += y.e;        f *= y.f;        g *= y.g;        h *= y.h;    }
>>     private int a;    private int b;    private int c;    private int d;    private int e;    private int f;    private int g;    private int h;}
>> The AVX2 instruction set includes gather instructions that can be used to read from primitive fields that are not contiguous to each other. The AVX2 instruction set will be implemented on the Intel Haswell microarchitecture processors.
>> In the example above, a JVM running on a processor with the AVX2 instruction set can optimize the ExampleOperation method as follows:- Reading the a, c, d, and e fields of both this and y using the VPGATHERDD instruction.- Performing the 4 addition operations simultaneously using the PADDD instruction.- Store the result of the addition operations in a, c, d, and e using the PEXTRD instruction.- Reading the b, f, g, and h fields of both this and y using the VPGATHERDD instruction.- Performing the 4 multiplication operations simultaneously using the PMULLD instruction.- Store the result of the multiplication operations in b, f, g, and h using the PEXTRD instruction.
>> This optimization is perfectly legal under the Java Memory Model, since there are no volatile reads or volatile writes. However, this optimization would be illegal if a, b, c, d, e, f, g, or h were declared as volatile fields. This optimization must also respect constraints imposed by synchronized blocks, volatile reads, volatile writes, method calls, data dependencies, and strictfp semantics. This optimization would also need to be disabled if the method is being debugged by a Java debugger, as the Java debugger can step through each operation individually.
>> The point I am trying to illustrate is that Java programmers should not assume that the arithmetic operations performed by the ExampleOperation method are not guaranteed to execute in the sequence shown in the source code. This example also illustrates the importance of properly synchronization. Will this optimization get implemented in the Hotspot VM in the future?
>  		 	   		  

From martijnverburg at gmail.com  Thu Dec  8 12:41:31 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Thu, 8 Dec 2011 20:41:31 +0000
Subject: Tests (Was Warnings Cleanup in java.util.<various> (more from
	hack day))
In-Reply-To: <4EDA4204.2080108@oracle.com>
References: <CAP7YuASf+6mzmikMv7ki=+gTY_7ZpBiSj7F+zC=sDYukx16RUg@mail.gmail.com>
	<4EDA4204.2080108@oracle.com>
Message-ID: <CAP7YuAR_BeF5hiq+MsN1rS8tYtBuHbNFUXgZJXJ6f1OvJ46cKA@mail.gmail.com>

Hi Alan/All,

On 3 December 2011 15:36, Alan Bateman <Alan.Bateman at oracle.com> wrote:
> On 03/12/2011 11:27, Martijn Verburg wrote:
>>
>> Hi all,
>>
>> So the recent warnings clean up exercise got me thinking about the
>> approach we took and how we could make it safer by applying/running
>> tests in some of these areas. I'm very new to the OpenJDK, but I
>> figure there must be a suite of tests (for the TCK if nothing else).
>> Is that the set of tests that are typically run? Or is there another
>> test suite that can be run/added to?
>>
>> For example I feel that could/should have written a unit test for the
>> write method in the Manifest class that I had my recent brain melt in
>> :-)
>>
> There are lots of tests in the jdk repository (lots in langtools and some
> tests in the hotspot repository too). In order to run them then you'll need
> the jtreg test harness [1]. We probably need better documentation on the
> OpenJDK site for how to run the tests but one useful thing to know is that
> the make file in jdk/test directory has make targets that run the tests for
> many areas of the libraries. In this case you are working on java.util
> classes and we have a jdk_util target in the make file that runs the tests
> in jdk/test/java/util/**. You can run them with:
>
> make JT_HOME=<jtreg-location> jdk_util
>
> This locates your build in the default output directory so if it's somewhere
> else when you'll need to specify PRODUCT_HOME=<myjdk> to point it to the JDK
> that you are testing.
>
> It's possible that your sponsor (maybe Sherman in this case) will run the
> tests before pushing the changes but we need to get more people used to
> running the tests too.
>
> -Alan.
>
> [1] http://openjdk.java.net/jtreg/

Thanks for the set-up instructions, between that and the jtreg site I
was able to get them running.

I'll probably have more specific questions later on, but in the mean
time I'd like to be able to
contribute some documentation steps so that especially when community
enthusiasts help out
with things like 'javac warning clean-up' they do so with an extra safety net.

I pinged the guide-discuss list as I thought the developers guide
should be where this goes. It
could be Warlocks dilemma, but I got not reply there, is the
developers guide still the right place? Or
is there a wiki that now holds the equivalent developers guide?

Apologies for asking on this list, but wasn't sure what another
appropriate list would be, OpenJDK
has a lot of lists ;-).

Cheers,
Martijn

From martijnverburg at gmail.com  Thu Dec  8 12:47:34 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Thu, 8 Dec 2011 20:47:34 +0000
Subject: OpenJDK adoption by Java User Groups
Message-ID: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com>

Hi all,

I think the experiment was pretty successful the other night and Mike
and I have also figured out some ways to
streamline the process even further for future events (pre-built VMs
with the initial build already executed once
work pretty well if you're running adequate hardware).

We're keeping the VM up-to-date with jtreg and the latest commits and
will be organising a regular monthly
OpenJDK hack night for the LJC to work on low hanging fruit such as
javac warnings.

A few of the more enthusiastic folk will probably keeping submitting
ad-hoc patches, but what would you like us
to work on as a group next time?  There is still ~8500 warnings last
time I checked so we'd probably be quite
happy to run through a similar exercise again.

Once we've found our feet (and made sure we're not making life
difficult for all of you) then we'll spread the
program further to other JUGs.

We're also exploring where we can help out with documentation, but
I'll cover that separately.

Cheers,
Martijn

From jonathan.gibbons at oracle.com  Thu Dec  8 13:22:39 2011
From: jonathan.gibbons at oracle.com (Jonathan Gibbons)
Date: Thu, 08 Dec 2011 13:22:39 -0800
Subject: Tests (Was Warnings Cleanup in java.util.<various> (more from
	hack day))
In-Reply-To: <CAP7YuAR_BeF5hiq+MsN1rS8tYtBuHbNFUXgZJXJ6f1OvJ46cKA@mail.gmail.com>
References: <CAP7YuASf+6mzmikMv7ki=+gTY_7ZpBiSj7F+zC=sDYukx16RUg@mail.gmail.com>	<4EDA4204.2080108@oracle.com>
	<CAP7YuAR_BeF5hiq+MsN1rS8tYtBuHbNFUXgZJXJ6f1OvJ46cKA@mail.gmail.com>
Message-ID: <4EE12A9F.5090204@oracle.com>

On 12/08/2011 12:41 PM, Martijn Verburg wrote:
> Hi Alan/All,
>
> On 3 December 2011 15:36, Alan Bateman<Alan.Bateman at oracle.com>  wrote:
>> On 03/12/2011 11:27, Martijn Verburg wrote:
>>> Hi all,
>>>
>>> So the recent warnings clean up exercise got me thinking about the
>>> approach we took and how we could make it safer by applying/running
>>> tests in some of these areas. I'm very new to the OpenJDK, but I
>>> figure there must be a suite of tests (for the TCK if nothing else).
>>> Is that the set of tests that are typically run? Or is there another
>>> test suite that can be run/added to?
>>>
>>> For example I feel that could/should have written a unit test for the
>>> write method in the Manifest class that I had my recent brain melt in
>>> :-)
>>>
>> There are lots of tests in the jdk repository (lots in langtools and some
>> tests in the hotspot repository too). In order to run them then you'll need
>> the jtreg test harness [1]. We probably need better documentation on the
>> OpenJDK site for how to run the tests but one useful thing to know is that
>> the make file in jdk/test directory has make targets that run the tests for
>> many areas of the libraries. In this case you are working on java.util
>> classes and we have a jdk_util target in the make file that runs the tests
>> in jdk/test/java/util/**. You can run them with:
>>
>> make JT_HOME=<jtreg-location>  jdk_util
>>
>> This locates your build in the default output directory so if it's somewhere
>> else when you'll need to specify PRODUCT_HOME=<myjdk>  to point it to the JDK
>> that you are testing.
>>
>> It's possible that your sponsor (maybe Sherman in this case) will run the
>> tests before pushing the changes but we need to get more people used to
>> running the tests too.
>>
>> -Alan.
>>
>> [1] http://openjdk.java.net/jtreg/
> Thanks for the set-up instructions, between that and the jtreg site I
> was able to get them running.
>
> I'll probably have more specific questions later on, but in the mean
> time I'd like to be able to
> contribute some documentation steps so that especially when community
> enthusiasts help out
> with things like 'javac warning clean-up' they do so with an extra safety net.
>
> I pinged the guide-discuss list as I thought the developers guide
> should be where this goes. It
> could be Warlocks dilemma, but I got not reply there, is the
> developers guide still the right place? Or
> is there a wiki that now holds the equivalent developers guide?
>
> Apologies for asking on this list, but wasn't sure what another
> appropriate list would be, OpenJDK
> has a lot of lists ;-).
>
> Cheers,
> Martijn

Martijn,

I think the Developers Guide is the right place to put this sort of 
documentation, and ideally the guide-discuss list would be the place to 
discuss it. In the meantime, I suggest creating documentation so that we 
can post it "somewhere" where it can be referenced by others wanting to 
join in the fun.

-- Jon


From jonathan.gibbons at oracle.com  Thu Dec  8 13:38:43 2011
From: jonathan.gibbons at oracle.com (Jonathan Gibbons)
Date: Thu, 08 Dec 2011 13:38:43 -0800
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com>
Message-ID: <4EE12E63.7060707@oracle.com>

On 12/08/2011 12:47 PM, Martijn Verburg wrote:
> Hi all,
>
> I think the experiment was pretty successful the other night and Mike
> and I have also figured out some ways to
> streamline the process even further for future events (pre-built VMs
> with the initial build already executed once
> work pretty well if you're running adequate hardware).
>
> We're keeping the VM up-to-date with jtreg and the latest commits and
> will be organising a regular monthly
> OpenJDK hack night for the LJC to work on low hanging fruit such as
> javac warnings.
>
> A few of the more enthusiastic folk will probably keeping submitting
> ad-hoc patches, but what would you like us
> to work on as a group next time?  There is still ~8500 warnings last
> time I checked so we'd probably be quite
> happy to run through a similar exercise again.
>
> Once we've found our feet (and made sure we're not making life
> difficult for all of you) then we'll spread the
> program further to other JUGs.
>
> We're also exploring where we can help out with documentation, but
> I'll cover that separately.
>
> Cheers,
> Martijn

Martijn,

There were a number of surprises on Warnings Day last week.
One was the amount of enthusiasm. Another was the difficulty of
staying within the prescribed bounds, such as "no public API changes".

Which brings me to a suggestion I've been meaning to make for a
while, and is relevant here.

For changes to the OpenJDK code itself, you can see the sort of
controls we go through to make sure nothing bad happens. That can
be somewhat limiting for folk who want more creative freedom ;-)
One possibility is the development of tools which are not themselves
part of the OpenJDK itself, but which are useful to folk working on
OpenJDK. One such category of tools is intelligent comparison tools.
Given two copies of a library (such as rt.jar and tools.jar), analyze
them to report on differences. A bunch of different comparison
tests could be done:
-- have any public API signatures changed (where "public" means
     "documented/published")
-- have any public API signatures changed (where "public" means
     the Java access modifier)
-- if any signatures have changed, are the changes binary compatible,
    source compatible, etc.
    [See http://blogs.oracle.com/darcy/entry/kinds_of_compatibility]
-- have any method bodies changed
-- and so on

I wonder it would make sense for interested groups, such as JUGs,
to team up and take on such projects.

-- Jon

From xiomara.jayasena at oracle.com  Thu Dec  8 20:12:14 2011
From: xiomara.jayasena at oracle.com (Xiomara Jayasena)
Date: Thu, 8 Dec 2011 20:12:14 -0800 (PST)
Subject: Summary: JDK8 Warnings Cleanup Day
Message-ID: <a6d10575-d70b-40df-97cf-b70647e6a5bf@default>

Hi,

Last week?we held?[1] the first (of hopefully several!) JDK8 Warnings Cleanup Days (WCD), where the OpenJDK community collaborated to reduce the number of warnings in the JDK8 source.?

We started with just over 10,000 warnings before WCD. The checked-in changesets fixed a total of?*1,498 * warnings, leaving 8,515. 

The pending changesets (with webrevs) would fix and additional 674 warnings, giving a grand total of *2,172* warning fixed, bringing us down to 7,841 overall.  Great job to everyone who participated!!

If you would like to see the further breakdown of the changes, you can go to the warnings cleanup wiki [2] and see them there.

We learned a lot from this first experience and appreciated how quickly the community responded to our request for help even with such short notice.

Thanks again!
-Xiomara 

[1] http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-November/000302.html
[2] http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29

From jonathan.gibbons at oracle.com  Thu Dec  8 20:56:23 2011
From: jonathan.gibbons at oracle.com (Jonathan Gibbons)
Date: Thu, 08 Dec 2011 20:56:23 -0800
Subject: Summary: JDK8 Warnings Cleanup Day
In-Reply-To: <a6d10575-d70b-40df-97cf-b70647e6a5bf@default>
References: <a6d10575-d70b-40df-97cf-b70647e6a5bf@default>
Message-ID: <4EE194F7.6030504@oracle.com>

Wow, most impressive!

-- Jon

On 12/08/2011 08:12 PM, Xiomara Jayasena wrote:
> Hi,
>
> Last week we held [1] the first (of hopefully several!) JDK8 Warnings Cleanup Days (WCD), where the OpenJDK community collaborated to reduce the number of warnings in the JDK8 source. 
>
> We started with just over 10,000 warnings before WCD. The checked-in changesets fixed a total of *1,498 * warnings, leaving 8,515.
>
> The pending changesets (with webrevs) would fix and additional 674 warnings, giving a grand total of *2,172* warning fixed, bringing us down to 7,841 overall.  Great job to everyone who participated!!
>
> If you would like to see the further breakdown of the changes, you can go to the warnings cleanup wiki [2] and see them there.
>
> We learned a lot from this first experience and appreciated how quickly the community responded to our request for help even with such short notice.
>
> Thanks again!
> -Xiomara
>
> [1] http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-November/000302.html
> [2] http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29


From sebastian.sickelmann at gmx.de  Thu Dec  8 21:20:27 2011
From: sebastian.sickelmann at gmx.de (Sebastian Sickelmann)
Date: Fri, 09 Dec 2011 06:20:27 +0100
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <4EE12E63.7060707@oracle.com>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com>
	<4EE12E63.7060707@oracle.com>
Message-ID: <4EE19A9B.1090202@gmx.de>

Am 08.12.2011 22:38, schrieb Jonathan Gibbons:
> On 12/08/2011 12:47 PM, Martijn Verburg wrote:
>> Hi all,
>>
>> I think the experiment was pretty successful the other night and Mike
>> and I have also figured out some ways to
>> streamline the process even further for future events (pre-built VMs
>> with the initial build already executed once
>> work pretty well if you're running adequate hardware).
>>
>> We're keeping the VM up-to-date with jtreg and the latest commits and
>> will be organising a regular monthly
>> OpenJDK hack night for the LJC to work on low hanging fruit such as
>> javac warnings.
>>
>> A few of the more enthusiastic folk will probably keeping submitting
>> ad-hoc patches, but what would you like us
>> to work on as a group next time?  There is still ~8500 warnings last
>> time I checked so we'd probably be quite
>> happy to run through a similar exercise again.
>>
>> Once we've found our feet (and made sure we're not making life
>> difficult for all of you) then we'll spread the
>> program further to other JUGs.
>>
>> We're also exploring where we can help out with documentation, but
>> I'll cover that separately.
>>
>> Cheers,
>> Martijn
>
> Martijn,
>
> There were a number of surprises on Warnings Day last week.
> One was the amount of enthusiasm. Another was the difficulty of
> staying within the prescribed bounds, such as "no public API changes".
>
> Which brings me to a suggestion I've been meaning to make for a
> while, and is relevant here.
>
> For changes to the OpenJDK code itself, you can see the sort of
> controls we go through to make sure nothing bad happens. That can
> be somewhat limiting for folk who want more creative freedom ;-)
> One possibility is the development of tools which are not themselves
> part of the OpenJDK itself, but which are useful to folk working on
> OpenJDK. One such category of tools is intelligent comparison tools.
> Given two copies of a library (such as rt.jar and tools.jar), analyze
> them to report on differences. A bunch of different comparison
> tests could be done:
> -- have any public API signatures changed (where "public" means
>     "documented/published")
> -- have any public API signatures changed (where "public" means
>     the Java access modifier)
> -- if any signatures have changed, are the changes binary compatible,
>    source compatible, etc.
>    [See http://blogs.oracle.com/darcy/entry/kinds_of_compatibility]
> -- have any method bodies changed
> -- and so on
>
> I wonder it would make sense for interested groups, such as JUGs,
> to team up and take on such projects.
>
> -- Jon
Another fine thing would be to have an public reachable review system.
Like gerrit(for git) just for mercurial. I think inside of Oracle there 
is such
a system, at least most of the webrevs from oracle folks are hosted on
a server with the name http://cr.openjdk.java.net.

Providing patches through webrev is not the easiest part for anyone
who can move the OpenJdk forward. I think this is true at least for
those who uses windows as there primary development plattform.
Pushing to hg server that creates webrev for them would be really cool.

-- Sebastian

From martijnverburg at gmail.com  Fri Dec  9 01:41:52 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Fri, 9 Dec 2011 09:41:52 +0000
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <4EE12E63.7060707@oracle.com>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com>
	<4EE12E63.7060707@oracle.com>
Message-ID: <CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com>

>> Hi all,
>>
>> I think the experiment was pretty successful the other night and Mike
>> and I have also figured out some ways to
>> streamline the process even further for future events (pre-built VMs
>> with the initial build already executed once
>> work pretty well if you're running adequate hardware).
>>
>> We're keeping the VM up-to-date with jtreg and the latest commits and
>> will be organising a regular monthly
>> OpenJDK hack night for the LJC to work on low hanging fruit such as
>> javac warnings.
>>
>> A few of the more enthusiastic folk will probably keeping submitting
>> ad-hoc patches, but what would you like us
>> to work on as a group next time? ?There is still ~8500 warnings last
>> time I checked so we'd probably be quite
>> happy to run through a similar exercise again.
>>
>> Once we've found our feet (and made sure we're not making life
>> difficult for all of you) then we'll spread the
>> program further to other JUGs.
>>
>> We're also exploring where we can help out with documentation, but
>> I'll cover that separately.
>>
>> Cheers,
>> Martijn
>
>
> Martijn,
>
> There were a number of surprises on Warnings Day last week.
> One was the amount of enthusiasm. Another was the difficulty of
> staying within the prescribed bounds, such as "no public API changes".
>
> Which brings me to a suggestion I've been meaning to make for a
> while, and is relevant here.
>
> For changes to the OpenJDK code itself, you can see the sort of
> controls we go through to make sure nothing bad happens. That can
> be somewhat limiting for folk who want more creative freedom ;-)
> One possibility is the development of tools which are not themselves
> part of the OpenJDK itself, but which are useful to folk working on
> OpenJDK. One such category of tools is intelligent comparison tools.
> Given two copies of a library (such as rt.jar and tools.jar), analyze
> them to report on differences. A bunch of different comparison
> tests could be done:
> -- have any public API signatures changed (where "public" means
> ? ?"documented/published")
> -- have any public API signatures changed (where "public" means
> ? ?the Java access modifier)
> -- if any signatures have changed, are the changes binary compatible,
> ? source compatible, etc.
> ? [See http://blogs.oracle.com/darcy/entry/kinds_of_compatibility]
> -- have any method bodies changed
> -- and so on
>
> I wonder it would make sense for interested groups, such as JUGs,
> to team up and take on such projects.
>
> -- Jon

We could certainly list projects like this on a Adopt OpenJDK site and
work with
the JUG leaders to put together teams.  There's never any guarantee that a
particular project will get picked up, but with such a diverse group
of developers
there would hopefully be some sort of adoption yes.

Cheers,
Martijn

From martijnverburg at gmail.com  Fri Dec  9 01:45:54 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Fri, 9 Dec 2011 09:45:54 +0000
Subject: Summary: JDK8 Warnings Cleanup Day
In-Reply-To: <4EE194F7.6030504@oracle.com>
References: <a6d10575-d70b-40df-97cf-b70647e6a5bf@default>
	<4EE194F7.6030504@oracle.com>
Message-ID: <CAP7YuASXevW6ehP2Z=MOP5arkJh5TsD=V_w1SqRdN4i7dMHpyw@mail.gmail.com>

Glad to hear there was a good result out of it - we certainly learned
a lot and had a good deal of fun as well! - M

On 9 December 2011 04:56, Jonathan Gibbons <jonathan.gibbons at oracle.com> wrote:
> Wow, most impressive!
>
> -- Jon
>
>
> On 12/08/2011 08:12 PM, Xiomara Jayasena wrote:
>>
>> Hi,
>>
>> Last week we held [1] the first (of hopefully several!) JDK8 Warnings
>> Cleanup Days (WCD), where the OpenJDK community collaborated to reduce the
>> number of warnings in the JDK8 source.
>> We started with just over 10,000 warnings before WCD. The checked-in
>> changesets fixed a total of *1,498 * warnings, leaving 8,515.
>>
>> The pending changesets (with webrevs) would fix and additional 674
>> warnings, giving a grand total of *2,172* warning fixed, bringing us down to
>> 7,841 overall. ?Great job to everyone who participated!!
>>
>> If you would like to see the further breakdown of the changes, you can go
>> to the warnings cleanup wiki [2] and see them there.
>>
>> We learned a lot from this first experience and appreciated how quickly
>> the community responded to our request for help even with such short notice.
>>
>> Thanks again!
>> -Xiomara
>>
>> [1]
>> http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-November/000302.html
>> [2]
>> http://wikis.sun.com/display/OpenJDK/JDK8+warning+cleanup+day+%282011-12-01%29
>
>

From martijnverburg at gmail.com  Fri Dec  9 02:16:16 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Fri, 9 Dec 2011 10:16:16 +0000
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com>
	<4EE12E63.7060707@oracle.com>
	<CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com>
Message-ID: <CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>

>> Martijn,
>>
>> There were a number of surprises on Warnings Day last week.
>> One was the amount of enthusiasm. Another was the difficulty of
>> staying within the prescribed bounds, such as "no public API changes".
>>
>> Which brings me to a suggestion I've been meaning to make for a
>> while, and is relevant here.
>>
>> For changes to the OpenJDK code itself, you can see the sort of
>> controls we go through to make sure nothing bad happens. That can
>> be somewhat limiting for folk who want more creative freedom ;-)
>> One possibility is the development of tools which are not themselves
>> part of the OpenJDK itself, but which are useful to folk working on
>> OpenJDK. One such category of tools is intelligent comparison tools.
>> Given two copies of a library (such as rt.jar and tools.jar), analyze
>> them to report on differences. A bunch of different comparison
>> tests could be done:
>> -- have any public API signatures changed (where "public" means
>> ? ?"documented/published")
>> -- have any public API signatures changed (where "public" means
>> ? ?the Java access modifier)
>> -- if any signatures have changed, are the changes binary compatible,
>> ? source compatible, etc.
>> ? [See http://blogs.oracle.com/darcy/entry/kinds_of_compatibility]
>> -- have any method bodies changed
>> -- and so on
>>
>> I wonder it would make sense for interested groups, such as JUGs,
>> to team up and take on such projects.
>>
>> -- Jon
>
> We could certainly list projects like this on a Adopt OpenJDK site and
> work with
> the JUG leaders to put together teams. ?There's never any guarantee that a
> particular project will get picked up, but with such a diverse group
> of developers there would hopefully be some sort of adoption yes.

To add further to this, please send myself or Mike Barker any ideas you'd
like to see tackled and we'll get them added to the list.

Cheers,
Martijn

From forax at univ-mlv.fr  Fri Dec  9 02:23:34 2011
From: forax at univ-mlv.fr (=?UTF-8?B?UsOpbWkgRm9yYXg=?=)
Date: Fri, 09 Dec 2011 11:23:34 +0100
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com>
	<4EE12E63.7060707@oracle.com>
	<CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com>
	<CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>
Message-ID: <4EE1E1A6.3060404@univ-mlv.fr>

On 12/09/2011 11:16 AM, Martijn Verburg wrote:
>>> Martijn,
>>>
>>> There were a number of surprises on Warnings Day last week.
>>> One was the amount of enthusiasm. Another was the difficulty of
>>> staying within the prescribed bounds, such as "no public API changes".
>>>
>>> Which brings me to a suggestion I've been meaning to make for a
>>> while, and is relevant here.
>>>
>>> For changes to the OpenJDK code itself, you can see the sort of
>>> controls we go through to make sure nothing bad happens. That can
>>> be somewhat limiting for folk who want more creative freedom ;-)
>>> One possibility is the development of tools which are not themselves
>>> part of the OpenJDK itself, but which are useful to folk working on
>>> OpenJDK. One such category of tools is intelligent comparison tools.
>>> Given two copies of a library (such as rt.jar and tools.jar), analyze
>>> them to report on differences. A bunch of different comparison
>>> tests could be done:
>>> -- have any public API signatures changed (where "public" means
>>>     "documented/published")
>>> -- have any public API signatures changed (where "public" means
>>>     the Java access modifier)
>>> -- if any signatures have changed, are the changes binary compatible,
>>>    source compatible, etc.
>>>    [See http://blogs.oracle.com/darcy/entry/kinds_of_compatibility]
>>> -- have any method bodies changed
>>> -- and so on
>>>
>>> I wonder it would make sense for interested groups, such as JUGs,
>>> to team up and take on such projects.
>>>
>>> -- Jon
>> We could certainly list projects like this on a Adopt OpenJDK site and
>> work with
>> the JUG leaders to put together teams.  There's never any guarantee that a
>> particular project will get picked up, but with such a diverse group
>> of developers there would hopefully be some sort of adoption yes.
> To add further to this, please send myself or Mike Barker any ideas you'd
> like to see tackled and we'll get them added to the list.
>
> Cheers,
> Martijn

There is already something like this in the test of ASM (google ASM java).
It allows us, developers of ASM to maintain 1.3 compatibility by checking
against a public description of the 1.3 API.

R?mi


From martijnverburg at gmail.com  Fri Dec  9 03:24:27 2011
From: martijnverburg at gmail.com (Martijn Verburg)
Date: Fri, 9 Dec 2011 11:24:27 +0000
Subject: Tests (Was Warnings Cleanup in java.util.<various> (more from
	hack day))
In-Reply-To: <4EE12A9F.5090204@oracle.com>
References: <CAP7YuASf+6mzmikMv7ki=+gTY_7ZpBiSj7F+zC=sDYukx16RUg@mail.gmail.com>
	<4EDA4204.2080108@oracle.com>
	<CAP7YuAR_BeF5hiq+MsN1rS8tYtBuHbNFUXgZJXJ6f1OvJ46cKA@mail.gmail.com>
	<4EE12A9F.5090204@oracle.com>
Message-ID: <CAP7YuAT0VaHmUsxbXy-tv4Utynp7_be5LDWQ3Yie+3M9M4bdOQ@mail.gmail.com>

>> Thanks for the set-up instructions, between that and the jtreg site I
>> was able to get them running.
>>
>> I'll probably have more specific questions later on, but in the mean
>> time I'd like to be able to
>> contribute some documentation steps so that especially when community
>> enthusiasts help out
>> with things like 'javac warning clean-up' they do so with an extra safety
>> net.
>>
>> I pinged the guide-discuss list as I thought the developers guide
>> should be where this goes. It
>> could be Warlocks dilemma, but I got not reply there, is the
>> developers guide still the right place? Or
>> is there a wiki that now holds the equivalent developers guide?
>>
>> Apologies for asking on this list, but wasn't sure what another
>> appropriate list would be, OpenJDK
>> has a lot of lists ;-).
>>
>> Cheers,
>> Martijn
>
>
> Martijn,
>
> I think the Developers Guide is the right place to put this sort of
> documentation, and ideally the guide-discuss list would be the place to
> discuss it. In the meantime, I suggest creating documentation so that we can
> post it "somewhere" where it can be referenced by others wanting to join in
> the fun.
>
> -- Jon

Hi Jon/All,

So if developers were working through the guide for fixing a bug at
http://openjdk.java.net/guide/changePlanning.html#bug then following
on from Step 6 there could be something like (formatting would need to
be improved):

7. Configuring and running the jtreg tests

1. Go to http://openjdk.java.net/jtreg/ and have a scan through the
details there
2. Go http://download.java.net/openjdk/jtreg/
3. Download the latest binary zip file
4. Unzip the contents to a directory of your choosing, you should see
a folder called jtreg
5. Set JT_HOME=<location where you unzipped jtreg>
5. Set your PATH to PATH=$PATH:$JT_HOME/<your platform>/bin  (look at
the $JT_HOME directory for supported platforms)
6. cd <location of where OpenJDK source was cloned to>/test
7. make <test target> (e.g. In order to test the util package: make
jdk_util &> test.log)

For more options and details see http://openjdk.java.net/jtreg/

Cheers,
Martijn

From georges.saab at oracle.com  Fri Dec  9 06:16:38 2011
From: georges.saab at oracle.com (Georges Saab)
Date: Fri, 9 Dec 2011 12:16:38 -0200
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <4EE19A9B.1090202@gmx.de>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com>
	<4EE12E63.7060707@oracle.com> <4EE19A9B.1090202@gmx.de>
Message-ID: <FBCBA5EA-453D-4C75-A9AF-A46EA04637FB@oracle.com>

This is something we intend to test out with the pilot instance of JIRA, see the following:

   http://mail.openjdk.java.net/pipermail/announce/2011-October/000112.html

    /GES


On 9 dec 2011, at 03:20, Sebastian Sickelmann wrote:
...
> Another fine thing would be to have an public reachable review system.
> Like gerrit(for git) just for mercurial. I think inside of Oracle there is such
> a system, at least most of the webrevs from oracle folks are hosted on
> a server with the name http://cr.openjdk.java.net.
> 
> Providing patches through webrev is not the easiest part for anyone
> who can move the OpenJdk forward. I think this is true at least for
> those who uses windows as there primary development plattform.
> Pushing to hg server that creates webrev for them would be really cool.
> 
> -- Sebastian


From Alan.Bateman at oracle.com  Fri Dec  9 06:44:40 2011
From: Alan.Bateman at oracle.com (Alan Bateman)
Date: Fri, 09 Dec 2011 14:44:40 +0000
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com>
	<4EE12E63.7060707@oracle.com>
	<CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com>
	<CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>
Message-ID: <4EE21ED8.1010408@oracle.com>

On 09/12/2011 10:16, Martijn Verburg wrote:
> To add further to this, please send myself or Mike Barker any ideas you'd
> like to see tackled and we'll get them added to the list.
>
There is an almost endless list of things that could be done. Along the 
lines of the warnings clean-up, then sorting through the output of 
FindBugs and other static analysis tools could lead to some useful 
patches and fun discussions. You probably saw the mail from Evgeny 
Mandrikov a few weeks ago where he announced a Sonar dashboard for the 
jdk7 sources. There's a lot of noise in there but it may be useful to 
identify some useful clean-ups (just need to watch the risk/benefit 
trade-off). And of course the tests. In the past we haven't given the 
tests enough TLC so patches to improve the reliability or performance of 
tests are very welcome. There are lots of specific things that could be 
done too but the nice thing about the clean-up areas is that they 
implement Spliterable.

-Alan.

From mcconnell at dpml.net  Fri Dec  9 06:48:06 2011
From: mcconnell at dpml.net (Stephen McConnell)
Date: Sat, 10 Dec 2011 01:18:06 +1030
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <4EE21ED8.1010408@oracle.com>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com><4EE12E63.7060707@oracle.com><CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com><CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>
	<4EE21ED8.1010408@oracle.com>
Message-ID: <1FAEC202D15E43368C9760CA0120CA20@GLORIA>

If Sonar is in place - then chances are we could enable a 'Technical Debt' 
metric.
That would be interesting.

Cheers, Steve.

-----Original Message----- 
From: Alan Bateman
Sent: Saturday, December 10, 2011 1:14 AM
To: Martijn Verburg
Cc: jdk8-dev at openjdk.java.net
Subject: Re: OpenJDK adoption by Java User Groups

On 09/12/2011 10:16, Martijn Verburg wrote:
> To add further to this, please send myself or Mike Barker any ideas you'd
> like to see tackled and we'll get them added to the list.
>
There is an almost endless list of things that could be done. Along the
lines of the warnings clean-up, then sorting through the output of
FindBugs and other static analysis tools could lead to some useful
patches and fun discussions. You probably saw the mail from Evgeny
Mandrikov a few weeks ago where he announced a Sonar dashboard for the
jdk7 sources. There's a lot of noise in there but it may be useful to
identify some useful clean-ups (just need to watch the risk/benefit
trade-off). And of course the tests. In the past we haven't given the
tests enough TLC so patches to improve the reliability or performance of
tests are very welcome. There are lots of specific things that could be
done too but the nice thing about the clean-up areas is that they
implement Spliterable.

-Alan. 


From jonathan.gibbons at oracle.com  Fri Dec  9 06:52:19 2011
From: jonathan.gibbons at oracle.com (Jonathan Gibbons)
Date: Fri, 09 Dec 2011 06:52:19 -0800
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <1FAEC202D15E43368C9760CA0120CA20@GLORIA>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com><4EE12E63.7060707@oracle.com><CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com><CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>	<4EE21ED8.1010408@oracle.com>
	<1FAEC202D15E43368C9760CA0120CA20@GLORIA>
Message-ID: <4EE220A3.4050304@oracle.com>

Metrics are good, especially when you can see trend towards a realistic 
goal  ;-)

-- Jon

On 12/09/2011 06:48 AM, Stephen McConnell wrote:
> If Sonar is in place - then chances are we could enable a 'Technical 
> Debt' metric.
> That would be interesting.
>
> Cheers, Steve.
>
> -----Original Message----- From: Alan Bateman
> Sent: Saturday, December 10, 2011 1:14 AM
> To: Martijn Verburg
> Cc: jdk8-dev at openjdk.java.net
> Subject: Re: OpenJDK adoption by Java User Groups
>
> On 09/12/2011 10:16, Martijn Verburg wrote:
>> To add further to this, please send myself or Mike Barker any ideas 
>> you'd
>> like to see tackled and we'll get them added to the list.
>>
> There is an almost endless list of things that could be done. Along the
> lines of the warnings clean-up, then sorting through the output of
> FindBugs and other static analysis tools could lead to some useful
> patches and fun discussions. You probably saw the mail from Evgeny
> Mandrikov a few weeks ago where he announced a Sonar dashboard for the
> jdk7 sources. There's a lot of noise in there but it may be useful to
> identify some useful clean-ups (just need to watch the risk/benefit
> trade-off). And of course the tests. In the past we haven't given the
> tests enough TLC so patches to improve the reliability or performance of
> tests are very welcome. There are lots of specific things that could be
> done too but the nice thing about the clean-up areas is that they
> implement Spliterable.
>
> -Alan.


From mcconnell at dpml.net  Fri Dec  9 07:06:50 2011
From: mcconnell at dpml.net (Stephen McConnell)
Date: Sat, 10 Dec 2011 01:36:50 +1030
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <4EE220A3.4050304@oracle.com>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com><4EE12E63.7060707@oracle.com><CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com><CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>	<4EE21ED8.1010408@oracle.com><1FAEC202D15E43368C9760CA0120CA20@GLORIA>
	<4EE220A3.4050304@oracle.com>
Message-ID: <EA5BE8498D4A425EA1BEED96C05B6034@GLORIA>

Does anyone have a link to the Sonar page?

Cheers, Steve.

-----Original Message----- 
From: Jonathan Gibbons 
Sent: Saturday, December 10, 2011 1:22 AM 
To: jdk8-dev at openjdk.java.net 
Subject: Re: OpenJDK adoption by Java User Groups 

Metrics are good, especially when you can see trend towards a realistic 
goal  ;-)

-- Jon

On 12/09/2011 06:48 AM, Stephen McConnell wrote:
> If Sonar is in place - then chances are we could enable a 'Technical 
> Debt' metric.
> That would be interesting.
>
> Cheers, Steve.
>
> -----Original Message----- From: Alan Bateman
> Sent: Saturday, December 10, 2011 1:14 AM
> To: Martijn Verburg
> Cc: jdk8-dev at openjdk.java.net
> Subject: Re: OpenJDK adoption by Java User Groups
>
> On 09/12/2011 10:16, Martijn Verburg wrote:
>> To add further to this, please send myself or Mike Barker any ideas 
>> you'd
>> like to see tackled and we'll get them added to the list.
>>
> There is an almost endless list of things that could be done. Along the
> lines of the warnings clean-up, then sorting through the output of
> FindBugs and other static analysis tools could lead to some useful
> patches and fun discussions. You probably saw the mail from Evgeny
> Mandrikov a few weeks ago where he announced a Sonar dashboard for the
> jdk7 sources. There's a lot of noise in there but it may be useful to
> identify some useful clean-ups (just need to watch the risk/benefit
> trade-off). And of course the tests. In the past we haven't given the
> tests enough TLC so patches to improve the reliability or performance of
> tests are very welcome. There are lots of specific things that could be
> done too but the nice thing about the clean-up areas is that they
> implement Spliterable.
>
> -Alan.


From artem.ananiev at oracle.com  Fri Dec  9 07:22:49 2011
From: artem.ananiev at oracle.com (Artem Ananiev)
Date: Fri, 09 Dec 2011 19:22:49 +0400
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <EA5BE8498D4A425EA1BEED96C05B6034@GLORIA>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com><4EE12E63.7060707@oracle.com><CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com><CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>	<4EE21ED8.1010408@oracle.com><1FAEC202D15E43368C9760CA0120CA20@GLORIA>
	<4EE220A3.4050304@oracle.com>
	<EA5BE8498D4A425EA1BEED96C05B6034@GLORIA>
Message-ID: <4EE227C9.40208@oracle.com>


Here is a link to original Sonar announcement at the discuss at 
openjdk.java.net alias:

http://mail.openjdk.java.net/pipermail/discuss/2011-November/002204.html

Artem

On 12/9/2011 7:06 PM, Stephen McConnell wrote:
> Does anyone have a link to the Sonar page?
>
> Cheers, Steve.
>
> -----Original Message----- From: Jonathan Gibbons Sent: Saturday,
> December 10, 2011 1:22 AM To: jdk8-dev at openjdk.java.net Subject: Re:
> OpenJDK adoption by Java User Groups
> Metrics are good, especially when you can see trend towards a realistic
> goal ;-)
>
> -- Jon
>
> On 12/09/2011 06:48 AM, Stephen McConnell wrote:
>> If Sonar is in place - then chances are we could enable a 'Technical
>> Debt' metric.
>> That would be interesting.
>>
>> Cheers, Steve.
>>
>> -----Original Message----- From: Alan Bateman
>> Sent: Saturday, December 10, 2011 1:14 AM
>> To: Martijn Verburg
>> Cc: jdk8-dev at openjdk.java.net
>> Subject: Re: OpenJDK adoption by Java User Groups
>>
>> On 09/12/2011 10:16, Martijn Verburg wrote:
>>> To add further to this, please send myself or Mike Barker any ideas
>>> you'd
>>> like to see tackled and we'll get them added to the list.
>>>
>> There is an almost endless list of things that could be done. Along the
>> lines of the warnings clean-up, then sorting through the output of
>> FindBugs and other static analysis tools could lead to some useful
>> patches and fun discussions. You probably saw the mail from Evgeny
>> Mandrikov a few weeks ago where he announced a Sonar dashboard for the
>> jdk7 sources. There's a lot of noise in there but it may be useful to
>> identify some useful clean-ups (just need to watch the risk/benefit
>> trade-off). And of course the tests. In the past we haven't given the
>> tests enough TLC so patches to improve the reliability or performance of
>> tests are very welcome. There are lots of specific things that could be
>> done too but the nice thing about the clean-up areas is that they
>> implement Spliterable.
>>
>> -Alan.
>

From jonathan.gibbons at oracle.com  Fri Dec  9 08:45:45 2011
From: jonathan.gibbons at oracle.com (Jonathan Gibbons)
Date: Fri, 09 Dec 2011 08:45:45 -0800
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <BCA79E7246E645F2BE54F7389503F237@GLORIA>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com><4EE12E63.7060707@oracle.com><CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com><CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>	<4EE21ED8.1010408@oracle.com><1FAEC202D15E43368C9760CA0120CA20@GLORIA>
	<4EE220A3.4050304@oracle.com>
	<EA5BE8498D4A425EA1BEED96C05B6034@GLORIA>
	<4EE227C9.40208@oracle.com>
	<BCA79E7246E645F2BE54F7389503F237@GLORIA>
Message-ID: <4EE23B39.6050902@oracle.com>

On 12/09/2011 08:40 AM, Stephen McConnell wrote:
> Seems we don't' have test coverage in place. Does anyone know if this 
> is being put in place?

Can you give more details on what you mean or would like to see here?

-- Jon

From mcconnell at dpml.net  Fri Dec  9 08:58:09 2011
From: mcconnell at dpml.net (Stephen McConnell)
Date: Sat, 10 Dec 2011 03:28:09 +1030
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <4EE23B39.6050902@oracle.com>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com><4EE12E63.7060707@oracle.com><CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com><CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>	<4EE21ED8.1010408@oracle.com><1FAEC202D15E43368C9760CA0120CA20@GLORIA>
	<4EE220A3.4050304@oracle.com>
	<EA5BE8498D4A425EA1BEED96C05B6034@GLORIA>
	<4EE227C9.40208@oracle.com>
	<BCA79E7246E645F2BE54F7389503F237@GLORIA>
	<4EE23B39.6050902@oracle.com>
Message-ID: <3B8F17CCD979492A89430EE8749CDC4D@GLORIA>

Jonathan:

I would like to see Sonar metrics for the following:
  1.. unit test coverage 
  2.. technical debt
I use Sonar on multiple internal projects and these two metrics mean a lot to me.

Cheers, Steve.

p.s. I can provide resources to help with the configuration if required.

/SJM

-----Original Message----- 
From: Jonathan Gibbons 
Sent: Saturday, December 10, 2011 3:15 AM 
To: Stephen McConnell 
Cc: Artem Ananiev ; jdk8-dev at openjdk.java.net 
Subject: Re: OpenJDK adoption by Java User Groups 

On 12/09/2011 08:40 AM, Stephen McConnell wrote:
> Seems we don't' have test coverage in place. Does anyone know if this 
> is being put in place?

Can you give more details on what you mean or would like to see here?

-- Jon

From mcconnell at dpml.net  Fri Dec  9 09:01:28 2011
From: mcconnell at dpml.net (Stephen McConnell)
Date: Sat, 10 Dec 2011 03:31:28 +1030
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <3B8F17CCD979492A89430EE8749CDC4D@GLORIA>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com><4EE12E63.7060707@oracle.com><CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com><CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>	<4EE21ED8.1010408@oracle.com><1FAEC202D15E43368C9760CA0120CA20@GLORIA><4EE220A3.4050304@oracle.com><EA5BE8498D4A425EA1BEED96C05B6034@GLORIA><4EE227C9.40208@oracle.com><BCA79E7246E645F2BE54F7389503F237@GLORIA><4EE23B39.6050902@oracle.com>
	<3B8F17CCD979492A89430EE8749CDC4D@GLORIA>
Message-ID: <9EDC9410F2474A35A319990E8E895F70@GLORIA>

These are the related links:

Clover Unit Test Coverage
http://docs.codehaus.org/display/SONAR/Clover+Plugin

Technical Debt
http://www.sonarsource.org/evaluate-your-technical-debt-with-sonar/

Cheers, Steve.

-----Original Message----- 
From: Stephen McConnell
Sent: Saturday, December 10, 2011 3:28 AM
To: Jonathan Gibbons
Cc: jdk8-dev at openjdk.java.net
Subject: Re: OpenJDK adoption by Java User Groups

Jonathan:

I would like to see Sonar metrics for the following:
  1.. unit test coverage
  2.. technical debt
I use Sonar on multiple internal projects and these two metrics mean a lot 
to me.

Cheers, Steve.

p.s. I can provide resources to help with the configuration if required.

/SJM

-----Original Message----- 
From: Jonathan Gibbons
Sent: Saturday, December 10, 2011 3:15 AM
To: Stephen McConnell
Cc: Artem Ananiev ; jdk8-dev at openjdk.java.net
Subject: Re: OpenJDK adoption by Java User Groups

On 12/09/2011 08:40 AM, Stephen McConnell wrote:
> Seems we don't' have test coverage in place. Does anyone know if this
> is being put in place?

Can you give more details on what you mean or would like to see here?

-- Jon 


From jonathan.gibbons at oracle.com  Fri Dec  9 09:14:08 2011
From: jonathan.gibbons at oracle.com (Jonathan Gibbons)
Date: Fri, 09 Dec 2011 09:14:08 -0800
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <9EDC9410F2474A35A319990E8E895F70@GLORIA>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com><4EE12E63.7060707@oracle.com><CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com><CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>	<4EE21ED8.1010408@oracle.com><1FAEC202D15E43368C9760CA0120CA20@GLORIA><4EE220A3.4050304@oracle.com><EA5BE8498D4A425EA1BEED96C05B6034@GLORIA><4EE227C9.40208@oracle.com><BCA79E7246E645F2BE54F7389503F237@GLORIA><4EE23B39.6050902@oracle.com>
	<3B8F17CCD979492A89430EE8749CDC4D@GLORIA>
	<9EDC9410F2474A35A319990E8E895F70@GLORIA>
Message-ID: <4EE241E0.2080600@oracle.com>

Stephen,

I've browsed around the links for Clover. It looks very interesting, but 
it's not clear to me the constraints under which it operates.

Note that OpenJDK uses jtreg for the publicly available regression 
tests, and that many of the tests rely on being able to start up one or 
more new JVMs for the duration of the test. In my experience this has 
been too much of a stretch for commercially available coverage tools to 
tolerate, and they typically can't cope and/or fall over.  A common 
assumption for such tools is that all API tests can run sequentially in 
the same JVM.

Do you know if there are any such restrictions with Clover?

-- Jon


On 12/09/2011 09:01 AM, Stephen McConnell wrote:
> These are the related links:
>
> Clover Unit Test Coverage
> http://docs.codehaus.org/display/SONAR/Clover+Plugin
>
> Technical Debt
> http://www.sonarsource.org/evaluate-your-technical-debt-with-sonar/
>
> Cheers, Steve.
>
> -----Original Message----- From: Stephen McConnell
> Sent: Saturday, December 10, 2011 3:28 AM
> To: Jonathan Gibbons
> Cc: jdk8-dev at openjdk.java.net
> Subject: Re: OpenJDK adoption by Java User Groups
>
> Jonathan:
>
> I would like to see Sonar metrics for the following:
>  1.. unit test coverage
>  2.. technical debt
> I use Sonar on multiple internal projects and these two metrics mean a 
> lot to me.
>
> Cheers, Steve.
>
> p.s. I can provide resources to help with the configuration if required.
>
> /SJM
>
> -----Original Message----- From: Jonathan Gibbons
> Sent: Saturday, December 10, 2011 3:15 AM
> To: Stephen McConnell
> Cc: Artem Ananiev ; jdk8-dev at openjdk.java.net
> Subject: Re: OpenJDK adoption by Java User Groups
>
> On 12/09/2011 08:40 AM, Stephen McConnell wrote:
>> Seems we don't' have test coverage in place. Does anyone know if this
>> is being put in place?
>
> Can you give more details on what you mean or would like to see here?
>
> -- Jon


From Alan.Bateman at oracle.com  Sun Dec 11 13:27:18 2011
From: Alan.Bateman at oracle.com (Alan Bateman)
Date: Sun, 11 Dec 2011 21:27:18 +0000
Subject: OpenJDK adoption by Java User Groups
In-Reply-To: <4EE241E0.2080600@oracle.com>
References: <CAP7YuATEd5W5FH5_q6swOU2oSNewQos1jT9Fp-STgBTUVU7hhA@mail.gmail.com><4EE12E63.7060707@oracle.com><CAP7YuASiC1iMAhJSXDtR5wZi+MCnt-uA3Nwu5okXsZCtq+qgZA@mail.gmail.com><CAP7YuAS9Yw-UM3DuqS0q-LVj8eMFi__jcZ1i08PMkJNG97qOcg@mail.gmail.com>	<4EE21ED8.1010408@oracle.com><1FAEC202D15E43368C9760CA0120CA20@GLORIA><4EE220A3.4050304@oracle.com><EA5BE8498D4A425EA1BEED96C05B6034@GLORIA><4EE227C9.40208@oracle.com><BCA79E7246E645F2BE54F7389503F237@GLORIA><4EE23B39.6050902@oracle.com>
	<3B8F17CCD979492A89430EE8749CDC4D@GLORIA>
	<9EDC9410F2474A35A319990E8E895F70@GLORIA>
	<4EE241E0.2080600@oracle.com>
Message-ID: <4EE52036.1010406@oracle.com>

On 09/12/2011 17:14, Jonathan Gibbons wrote:
> Stephen,
>
> I've browsed around the links for Clover. It looks very interesting, 
> but it's not clear to me the constraints under which it operates.
>
> Note that OpenJDK uses jtreg for the publicly available regression 
> tests, and that many of the tests rely on being able to start up one 
> or more new JVMs for the duration of the test. In my experience this 
> has been too much of a stretch for commercially available coverage 
> tools to tolerate, and they typically can't cope and/or fall over.  A 
> common assumption for such tools is that all API tests can run 
> sequentially in the same JVM.
>
> Do you know if there are any such restrictions with Clover?
>
> -- Jon
It would be interesting to know if this is possible. Another thing that 
often gets us with off-the-shelf tools is that they don't recognize the 
newest class file version or they only work with released JDK versions. 
I don't know if this tool uses static or load-time instrumentation but 
it reminds me that another useful thing that could be done is audit the 
shell tests, and tests that use Runtime.exec to create additional VMs, 
to make sure that they pass the VM options through to the child 
processes. It's unlikely to change the code coverage numbers too much, 
except perhaps tool code, but important to get the right results.

-Alan

From lana.steuck at oracle.com  Tue Dec 13 15:11:05 2011
From: lana.steuck at oracle.com (lana.steuck at oracle.com)
Date: Tue, 13 Dec 2011 23:11:05 +0000
Subject: hg: jdk8/jdk8/langtools: 10 new changesets
Message-ID: <20111213231127.5074D4769F@hg.openjdk.java.net>

Changeset: c896d95e7469
Author:    mcimadamore
Date:      2011-11-24 13:36 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/c896d95e7469

7115046: Add AST node for lambda expressions
Summary: Add tree nodes for representing lambda expressions and update relevant visitors interfaces
Reviewed-by: jjg

+ src/share/classes/com/sun/source/tree/LambdaExpressionTree.java
! src/share/classes/com/sun/source/tree/Tree.java
! src/share/classes/com/sun/source/tree/TreeVisitor.java
! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java
! src/share/classes/com/sun/source/util/TreeScanner.java
! src/share/classes/com/sun/tools/javac/tree/JCTree.java
! src/share/classes/com/sun/tools/javac/tree/Pretty.java
! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java
! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java
! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java
! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java

Changeset: ec59a2ce9114
Author:    mcimadamore
Date:      2011-11-24 13:38 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/ec59a2ce9114

7115049: Add AST node for method references
Summary: Add tree nodes for representing method/constructor references and update relevant visitors interfaces
Reviewed-by: jjg

+ src/share/classes/com/sun/source/tree/MemberReferenceTree.java
! src/share/classes/com/sun/source/tree/Tree.java
! src/share/classes/com/sun/source/tree/TreeVisitor.java
! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java
! src/share/classes/com/sun/source/util/TreeScanner.java
! src/share/classes/com/sun/tools/javac/tree/JCTree.java
! src/share/classes/com/sun/tools/javac/tree/Pretty.java
! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java
! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java
! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java
! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java
! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java

Changeset: 9448fe783fd2
Author:    mcimadamore
Date:      2011-11-28 15:56 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/9448fe783fd2

7115050: Add parser support for lambda expressions
Summary: Add support for parsing lambda expressions to JavacParser
Reviewed-by: jjg

! src/share/classes/com/sun/tools/javac/code/Source.java
! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/parser/JavacParser.java
! src/share/classes/com/sun/tools/javac/parser/Lexer.java
! src/share/classes/com/sun/tools/javac/parser/Scanner.java
! src/share/classes/com/sun/tools/javac/parser/Tokens.java
! src/share/classes/com/sun/tools/javac/resources/compiler.properties
! test/tools/javac/diags/examples/CatchWithoutTry.java
+ test/tools/javac/diags/examples/LambdaNotSupported.java
+ test/tools/javac/diags/examples/NotAStatement.java
! test/tools/javac/generics/rare/6665356/T6665356.out
+ test/tools/javac/lambda/LambdaParserTest.java

Changeset: 3343b22e2761
Author:    mcimadamore
Date:      2011-11-28 16:05 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/3343b22e2761

7115052: Add parser support for method references
Summary: Add support for parsing method references to JavacParser
Reviewed-by: jjg

! src/share/classes/com/sun/tools/javac/code/Source.java
! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java
! src/share/classes/com/sun/tools/javac/parser/JavacParser.java
! src/share/classes/com/sun/tools/javac/parser/Tokens.java
! src/share/classes/com/sun/tools/javac/resources/compiler.properties
! test/tools/javac/diags/examples/IllegalChar.java
+ test/tools/javac/diags/examples/MethodReferencesNotSupported.java
+ test/tools/javac/lambda/MethodReferenceParserTest.java
! test/tools/javac/quid/T6999438.out

Changeset: 2584f5358cba
Author:    lana
Date:      2011-12-06 20:26 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/2584f5358cba

Merge


Changeset: abfa0d8ea803
Author:    ksrini
Date:      2011-12-07 10:47 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/abfa0d8ea803

7086015: fix test/tools/javac/parser/netbeans/JavacParserTest.java
Reviewed-by: ksrini, jjg
Contributed-by: matherey.nunez at oracle.com

! test/tools/javac/parser/netbeans/JavacParserTest.java

Changeset: 9350d0498d21
Author:    ksrini
Date:      2011-12-09 08:40 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/9350d0498d21

7119032: (javac) increase visibility of JavacParser methods to improve subtyping
Reviewed-by: jjg
Contributed-by: jan.lahoda at oracle.com

! src/share/classes/com/sun/tools/javac/parser/JavacParser.java

Changeset: e7d5e1a7cde5
Author:    ksrini
Date:      2011-12-10 17:44 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/e7d5e1a7cde5

7119487: JavacParserTest.java test fails on Windows platforms
Reviewed-by: jjg

+ test/tools/javac/parser/JavacParserTest.java
- test/tools/javac/parser/netbeans/JavacParserTest.java

Changeset: e55270a7a022
Author:    mcimadamore
Date:      2011-12-11 17:48 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/e55270a7a022

7120266: javac fails to compile hotspot code
Summary: Parser changes for method references cause bad intercation with method call syntax
Reviewed-by: jjg

! src/share/classes/com/sun/tools/javac/parser/JavacParser.java
+ test/tools/javac/T7120266.java
! test/tools/javac/lambda/MethodReferenceParserTest.java

Changeset: 1cbe86c11ba6
Author:    lana
Date:      2011-12-12 10:08 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/1cbe86c11ba6

Merge

- test/tools/javac/parser/netbeans/JavacParserTest.java


From lana.steuck at oracle.com  Tue Dec 13 15:11:58 2011
From: lana.steuck at oracle.com (lana.steuck at oracle.com)
Date: Tue, 13 Dec 2011 23:11:58 +0000
Subject: hg: jdk8/jdk8/jdk: 61 new changesets
Message-ID: <20111213232146.DE5AA476A0@hg.openjdk.java.net>

Changeset: 23acf34c80b0
Author:    neugens
Date:      2011-12-03 15:40 +0100
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/23acf34c80b0

7117914: Fix javac warnings in src/share/classes/sun/java2d
Summary: Fix some javac warnings in java2d related code for the Warning Cleanup Day.
Reviewed-by: prr, flar

! src/share/classes/java/awt/geom/Path2D.java
! src/share/classes/sun/awt/image/BufImgSurfaceData.java
! src/share/classes/sun/java2d/SunGraphics2D.java
! src/share/classes/sun/java2d/SurfaceData.java
! src/share/classes/sun/java2d/SurfaceDataProxy.java
! src/share/classes/sun/java2d/loops/GraphicsPrimitive.java
! src/share/classes/sun/java2d/loops/SurfaceType.java
! src/share/classes/sun/java2d/opengl/OGLBufImgOps.java
! src/share/classes/sun/java2d/opengl/OGLDrawImage.java
! src/share/classes/sun/java2d/opengl/OGLPaints.java
! src/share/classes/sun/java2d/opengl/OGLSurfaceData.java
! src/share/classes/sun/java2d/pipe/AAShapePipe.java
! src/share/classes/sun/java2d/pipe/BufferedPaints.java
! src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java
! src/share/classes/sun/java2d/pipe/DrawImage.java
! src/share/classes/sun/java2d/pipe/GlyphListPipe.java
! src/share/classes/sun/java2d/pipe/LoopPipe.java
! src/share/classes/sun/java2d/pipe/RenderingEngine.java
! src/solaris/classes/sun/java2d/x11/X11Renderer.java
! src/solaris/classes/sun/java2d/x11/X11SurfaceData.java

Changeset: 70b40ea06df0
Author:    prr
Date:      2011-12-03 16:26 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/70b40ea06df0

7117199: Fix javac warnings in src/share/classes/java/awt/font
Reviewed-by: jgodinez, bae

! src/share/classes/java/awt/font/StyledParagraph.java
! src/share/classes/java/awt/font/TextAttribute.java
! src/share/classes/java/awt/font/TextLayout.java
! src/share/classes/java/awt/font/TextLine.java
! src/share/classes/java/awt/font/TextMeasurer.java

Changeset: 4075d524fa46
Author:    lana
Date:      2011-12-06 16:15 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/4075d524fa46

Merge


Changeset: e53a078c2840
Author:    anthony
Date:      2011-11-09 13:43 +0300
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/e53a078c2840

7045370: Java Statically Determines Display Size on Linux platforms
Summary: Listen to ConfigureNotify events on the root window and update the current screen size accordingly
Reviewed-by: art, bae

! src/share/classes/java/awt/Component.java
! src/solaris/classes/sun/awt/X11/XToolkit.java
! src/solaris/classes/sun/awt/X11GraphicsDevice.java
! src/solaris/native/sun/awt/awt_GraphicsEnv.c

Changeset: 84e473cf4531
Author:    rupashka
Date:      2011-11-10 14:10 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/84e473cf4531

6938583: Unexpected NullPointerException by InputContext.endComposition()
Reviewed-by: rupashka
Contributed-by: Charles Lee <littlee at linux.vnet.ibm.com>

! src/share/classes/javax/swing/text/DefaultCaret.java
+ test/javax/swing/text/DefaultCaret/6938583/bug6938583.java

Changeset: 81f1b32f9e24
Author:    malenkov
Date:      2011-11-10 17:15 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/81f1b32f9e24

7057459: Regression:  Performance degradation with java.beans.XMLEncoder
Reviewed-by: rupashka

! src/share/classes/java/beans/Encoder.java

Changeset: e120c78cb45c
Author:    malenkov
Date:      2011-11-10 17:27 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/e120c78cb45c

7064279: Introspector.getBeanInfo() should release some resources in timely manner
Reviewed-by: art, alexp

! src/share/classes/java/beans/Beans.java
! src/share/classes/java/beans/Introspector.java
! src/share/classes/java/beans/PropertyEditorManager.java
+ src/share/classes/java/beans/ThreadGroupContext.java
! test/java/beans/Beans/6669869/TestDesignTime.java
! test/java/beans/Beans/6669869/TestGuiAvailable.java
! test/java/beans/Introspector/6380849/TestBeanInfo.java
+ test/java/beans/Introspector/7064279/Test7064279.java
+ test/java/beans/Introspector/7064279/test.jar
! test/java/beans/Introspector/Test6660539.java
! test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java

Changeset: 8b6a69b2e482
Author:    malenkov
Date:      2011-11-10 17:32 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/8b6a69b2e482

7087876: java/beans/PropertyDescriptor.html#createPropertyEditor() throws RE if editor cannot be created
Reviewed-by: rupashka

! src/share/classes/java/beans/PropertyDescriptor.java
+ test/java/beans/PropertyEditor/Test7087876.java

Changeset: b02495c51b9c
Author:    malenkov
Date:      2011-11-10 17:35 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/b02495c51b9c

7092744: XMLEncoder fails to encode and breaks backward compatibility
Reviewed-by: rupashka

! src/share/classes/com/sun/beans/finder/AbstractFinder.java
! src/share/classes/com/sun/beans/finder/ConstructorFinder.java
! src/share/classes/com/sun/beans/finder/MethodFinder.java
+ test/java/beans/XMLEncoder/Test7092744.java

Changeset: 16327765859c
Author:    malenkov
Date:      2011-11-10 17:37 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/16327765859c

7087429: Constructor of java.beans.PropertyChangeEvent should declare thrown NPE for null source
Reviewed-by: rupashka

! src/share/classes/java/beans/PropertyChangeEvent.java
+ test/java/beans/PropertyChangeSupport/Test7087429.java

Changeset: f614bcada2a9
Author:    anthony
Date:      2011-11-11 15:17 +0300
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/f614bcada2a9

7103610: _NET_WM_PID and WM_CLIENT_MACHINE are not set
Summary: Set the properties to all top-level windows
Reviewed-by: anthony
Contributed-by: Danesh Dadachanji <ddadacha at redhat.com>

! make/sun/xawt/mapfile-vers
! src/solaris/classes/sun/awt/X11/XWindowPeer.java
! src/solaris/native/sun/xawt/XToolkit.c

Changeset: c0f3f1558a94
Author:    rupashka
Date:      2011-11-14 14:00 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/c0f3f1558a94

7109617: Test was writed for Metal L&F but not set it
Reviewed-by: rupashka
Contributed-by: alexandr.scherbatiy at oracle.com

+ test/javax/swing/plaf/metal/MetalLookAndFeel/5073047/bug5073047.java

Changeset: a51777c9228a
Author:    malenkov
Date:      2011-11-14 14:38 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/a51777c9228a

7110521: Regression test failed: Introspector/TestTypeResolver.java
Reviewed-by: rupashka

! test/java/beans/Introspector/TestTypeResolver.java

Changeset: 28f768c41a90
Author:    serb
Date:      2011-11-12 04:13 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/28f768c41a90

6996291: command line selection of MToolkit by -Dawt.toolkit=sun.awt.motif.MToolkit fails from jdk7 b21 on
Reviewed-by: art, dcherepanov, bae, prr

! make/sun/awt/FILES_c_unix.gmk
! make/sun/awt/FILES_export_unix.gmk
! make/sun/awt/mapfile-mawt-vers
! make/sun/awt/mapfile-vers-linux
! make/sun/awt/mawt.gmk
- make/sun/motif12/reorder-i586
- make/sun/motif12/reorder-sparc
- make/sun/motif12/reorder-sparcv9
! make/sun/xawt/mapfile-vers
! src/solaris/classes/sun/awt/X11/ListHelper.java
! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java
! src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java
- src/solaris/classes/sun/awt/motif/AWTLockAccess.java
! src/solaris/classes/sun/awt/motif/MFontConfiguration.java
- src/solaris/classes/sun/awt/motif/MFontPeer.java
- src/solaris/classes/sun/awt/motif/MToolkit.java
- src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java
- src/solaris/classes/sun/awt/motif/MWindowAttributes.java
- src/solaris/classes/sun/awt/motif/X11FontMetrics.java
- src/solaris/native/sun/awt/MouseInfo.c
- src/solaris/native/sun/awt/XDrawingArea.c
- src/solaris/native/sun/awt/XDrawingArea.h
- src/solaris/native/sun/awt/XDrawingAreaP.h
! src/solaris/native/sun/awt/awt.h
! src/solaris/native/sun/awt/awt_AWTEvent.c
! src/solaris/native/sun/awt/awt_Component.h
- src/solaris/native/sun/awt/awt_Cursor.h
! src/solaris/native/sun/awt/awt_DrawingSurface.c
! src/solaris/native/sun/awt/awt_Font.c
! src/solaris/native/sun/awt/awt_Font.h
! src/solaris/native/sun/awt/awt_GraphicsEnv.c
! src/solaris/native/sun/awt/awt_InputMethod.c
- src/solaris/native/sun/awt/awt_KeyboardFocusManager.h
- src/solaris/native/sun/awt/awt_MToolkit.c
- src/solaris/native/sun/awt/awt_MToolkit.h
- src/solaris/native/sun/awt/awt_MenuItem.h
- src/solaris/native/sun/awt/awt_PopupMenu.h
! src/solaris/native/sun/awt/awt_Robot.c
- src/solaris/native/sun/awt/awt_TopLevel.h
- src/solaris/native/sun/awt/awt_Window.h
- src/solaris/native/sun/awt/awt_mgrsel.c
- src/solaris/native/sun/awt/awt_mgrsel.h
- src/solaris/native/sun/awt/awt_motif.h
! src/solaris/native/sun/awt/awt_p.h
! src/solaris/native/sun/awt/awt_util.c
! src/solaris/native/sun/awt/awt_util.h
- src/solaris/native/sun/awt/awt_wm.c
- src/solaris/native/sun/awt/awt_wm.h
- src/solaris/native/sun/awt/awt_xembed.h
- src/solaris/native/sun/awt/awt_xembed_server.c
- src/solaris/native/sun/awt/awt_xembed_server.h
! src/solaris/native/sun/awt/canvas.h
! src/solaris/native/sun/awt/multi_font.c
! src/solaris/native/sun/awt/multi_font.h
! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c
! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h
! src/solaris/native/sun/java2d/x11/X11SurfaceData.c
! src/solaris/native/sun/xawt/XToolkit.c

Changeset: 6a9d735ebd0a
Author:    bagiras
Date:      2011-11-16 15:40 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/6a9d735ebd0a

7108598: Pogo Table Games freeze with JDK 7
Reviewed-by: art, ant

! src/share/classes/java/awt/Component.java
! src/share/classes/java/awt/Container.java
+ test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java

Changeset: 1df53949945d
Author:    lana
Date:      2011-11-18 15:49 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/1df53949945d

Merge


Changeset: 90d33a64a404
Author:    rupashka
Date:      2011-11-21 18:22 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/90d33a64a404

7109085: Test use hotkeys not intended for Mac
Reviewed-by: rupashka
Contributed-by: alexandr.scherbatiy at oracle.com

! test/javax/swing/regtesthelpers/Util.java
+ test/javax/swing/text/DefaultEditorKit/4278839/bug4278839.java
+ test/javax/swing/text/JTextComponent/5074573/bug5074573.java
+ test/javax/swing/text/html/HTMLEditorKit/5043626/bug5043626.java

Changeset: c3c80f96cb83
Author:    rupashka
Date:      2011-11-25 11:52 +0300
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/c3c80f96cb83

7113337: Swing closed test tries to click in the area reserved for resize by Mac OS X
Reviewed-by: rupashka
Contributed-by: alexandr.scherbatiy at oracle.com

+ test/javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java

Changeset: 9cbc208dcf08
Author:    rupashka
Date:      2011-11-29 12:47 +0300
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/9cbc208dcf08

7112925: closed/javax/swing/JTabbedPane/4624207/bug4624207.java fails on MacOS
Reviewed-by: rupashka
Contributed-by: alexandr.scherbatiy at oracle.com

+ test/javax/swing/JTabbedPane/4624207/bug4624207.java

Changeset: 051beb804b12
Author:    rupashka
Date:      2011-11-30 16:54 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/051beb804b12

7110440: closed/javax/swing/JScrollBar/4865918/bug4865918.java fails on Aqua L&F
Reviewed-by: rupashka
Contributed-by: alexandr.scherbatiy at oracle.com

+ test/javax/swing/JScrollBar/4865918/bug4865918.java

Changeset: 7dd4395fe4a5
Author:    rupashka
Date:      2011-11-30 19:38 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/7dd4395fe4a5

7115357: closed/javax/swing/JTable/6263446/bug6263446Table.java fails on MacOS
Reviewed-by: rupashka
Contributed-by: alexandr.scherbatiy at oracle.com

+ test/javax/swing/JTable/6263446/bug6263446.java

Changeset: 4b416a0180dc
Author:    lana
Date:      2011-11-29 15:57 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/4b416a0180dc

Merge

- test/java/io/FileDescriptor/FileChannelFDTest.java
- test/java/io/etc/FileDescriptorSharing.java

Changeset: 45eb5a61da07
Author:    lana
Date:      2011-11-30 12:06 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/45eb5a61da07

Merge


Changeset: 79b5c5a8c7e9
Author:    serb
Date:      2011-12-05 17:11 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/79b5c5a8c7e9

7115400: jdk 8 awt-gate build fails in headless  toolkit on solaris.
Reviewed-by: prr, art, bae

! make/sun/awt/FILES_c_unix.gmk
+ src/solaris/native/sun/awt/HeadlessToolkit.c
! src/solaris/native/sun/java2d/x11/X11SurfaceData.h

Changeset: 2b1438297561
Author:    lana
Date:      2011-12-06 16:17 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/2b1438297561

Merge

- make/sun/motif12/reorder-i586
- make/sun/motif12/reorder-sparc
- make/sun/motif12/reorder-sparcv9
- src/solaris/classes/sun/awt/motif/AWTLockAccess.java
- src/solaris/classes/sun/awt/motif/MFontPeer.java
- src/solaris/classes/sun/awt/motif/MToolkit.java
- src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java
- src/solaris/classes/sun/awt/motif/MWindowAttributes.java
- src/solaris/classes/sun/awt/motif/X11FontMetrics.java
- src/solaris/native/sun/awt/MouseInfo.c
- src/solaris/native/sun/awt/XDrawingArea.c
- src/solaris/native/sun/awt/XDrawingArea.h
- src/solaris/native/sun/awt/XDrawingAreaP.h
- src/solaris/native/sun/awt/awt_Cursor.h
- src/solaris/native/sun/awt/awt_KeyboardFocusManager.h
- src/solaris/native/sun/awt/awt_MToolkit.c
- src/solaris/native/sun/awt/awt_MToolkit.h
- src/solaris/native/sun/awt/awt_MenuItem.h
- src/solaris/native/sun/awt/awt_PopupMenu.h
- src/solaris/native/sun/awt/awt_TopLevel.h
- src/solaris/native/sun/awt/awt_Window.h
- src/solaris/native/sun/awt/awt_mgrsel.c
- src/solaris/native/sun/awt/awt_mgrsel.h
- src/solaris/native/sun/awt/awt_motif.h
- src/solaris/native/sun/awt/awt_wm.c
- src/solaris/native/sun/awt/awt_wm.h
- src/solaris/native/sun/awt/awt_xembed.h
- src/solaris/native/sun/awt/awt_xembed_server.c
- src/solaris/native/sun/awt/awt_xembed_server.h

Changeset: 387190e1f782
Author:    chegar
Date:      2011-11-25 10:34 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/387190e1f782

7115150: java.net.HttpCookie code cleanup, style, formatting, typos
Reviewed-by: michaelm

! src/share/classes/java/net/HttpCookie.java

Changeset: e5ecbf555679
Author:    chegar
Date:      2011-11-25 13:46 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/e5ecbf555679

7115586: Suppress creation of SocketImpl in SocketAdaptor's constructor
Reviewed-by: chegar, alanb
Contributed-by: sajia at taobao.com

! src/share/classes/sun/nio/ch/SocketAdaptor.java

Changeset: 022540b11147
Author:    weijun
Date:      2011-11-28 18:16 +0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/022540b11147

7115744: Do not call File::deleteOnExit in security tests
Reviewed-by: xuelei

! test/sun/security/krb5/auto/CrossRealm.java
! test/sun/security/krb5/auto/HttpNegotiateServer.java
! test/sun/security/krb5/auto/KDC.java
! test/sun/security/krb5/auto/OkAsDelegateXRealm.java
! test/sun/security/krb5/auto/OneKDC.java
! test/sun/security/krb5/auto/SSL.java
! test/sun/security/krb5/auto/W83.java
! test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngineResult/Deserialize.java

Changeset: d1928ae4e0a2
Author:    xuelei
Date:      2011-11-28 02:35 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/d1928ae4e0a2

7115524: sun.security.provider.certpath.ssl.SSLServerCertStore no longer works
Reviewed-by: weijun

! src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java

Changeset: 955aae8c1106
Author:    ngmr
Date:      2011-11-24 11:34 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/955aae8c1106

7115070: (fs) lookupPrincipalByName/lookupPrincipalByGroupName should treat ESRCH as not found
Reviewed-by: alanb
Contributed-by: Jonathan Lu <luchsh at linux.vnet.ibm.com>

! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c

Changeset: 6fbd69f8e3ab
Author:    ngmr
Date:      2011-11-18 09:03 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/6fbd69f8e3ab

7094995: Trailing daemon thread causes continuous GC in agentvm mode
Summary: Shutdown GcInducingThread once test (successfully) finishes
Reviewed-by: alanb, chegar, dholmes, darcy
Contributed-by: Neil Richards <neil.richards at ngmr.net>

! test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java

Changeset: cf47846165f4
Author:    dholmes
Date:      2011-11-29 00:26 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/cf47846165f4

7109092: Wrong computation results with double at armsflt
Summary: need to link to custom soft-float library with required FP accuracy
Reviewed-by: alanb, ohair

! make/common/Defs-embedded.gmk

Changeset: a47de985fec9
Author:    sherman
Date:      2011-11-29 11:39 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/a47de985fec9

7110149: Update the JDK8 bundled zlib library to the latest version 1.2.5
Summary: updated to zlib-1.2.5
Reviewed-by: alanb

! make/common/Defs.gmk
! make/java/zip/FILES_c.gmk
! make/sun/splashscreen/FILES_c.gmk
- src/share/native/java/util/zip/zlib-1.2.3/ChangeLog
- src/share/native/java/util/zip/zlib-1.2.3/README
- src/share/native/java/util/zip/zlib-1.2.3/compress.c
- src/share/native/java/util/zip/zlib-1.2.3/crc32.h
- src/share/native/java/util/zip/zlib-1.2.3/deflate.c
- src/share/native/java/util/zip/zlib-1.2.3/deflate.h
- src/share/native/java/util/zip/zlib-1.2.3/gzio.c
- src/share/native/java/util/zip/zlib-1.2.3/infback.c
- src/share/native/java/util/zip/zlib-1.2.3/inffast.c
- src/share/native/java/util/zip/zlib-1.2.3/inffast.h
- src/share/native/java/util/zip/zlib-1.2.3/inffixed.h
- src/share/native/java/util/zip/zlib-1.2.3/inflate.c
- src/share/native/java/util/zip/zlib-1.2.3/inflate.h
- src/share/native/java/util/zip/zlib-1.2.3/inftrees.c
- src/share/native/java/util/zip/zlib-1.2.3/inftrees.h
- src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java
- src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff
- src/share/native/java/util/zip/zlib-1.2.3/trees.c
- src/share/native/java/util/zip/zlib-1.2.3/trees.h
- src/share/native/java/util/zip/zlib-1.2.3/uncompr.c
- src/share/native/java/util/zip/zlib-1.2.3/zadler32.c
- src/share/native/java/util/zip/zlib-1.2.3/zconf.h
- src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c
- src/share/native/java/util/zip/zlib-1.2.3/zlib.h
- src/share/native/java/util/zip/zlib-1.2.3/zutil.c
- src/share/native/java/util/zip/zlib-1.2.3/zutil.h
+ src/share/native/java/util/zip/zlib-1.2.5/ChangeLog
+ src/share/native/java/util/zip/zlib-1.2.5/README
+ src/share/native/java/util/zip/zlib-1.2.5/compress.c
+ src/share/native/java/util/zip/zlib-1.2.5/crc32.h
+ src/share/native/java/util/zip/zlib-1.2.5/deflate.c
+ src/share/native/java/util/zip/zlib-1.2.5/deflate.h
+ src/share/native/java/util/zip/zlib-1.2.5/gzclose.c
+ src/share/native/java/util/zip/zlib-1.2.5/gzguts.h
+ src/share/native/java/util/zip/zlib-1.2.5/gzlib.c
+ src/share/native/java/util/zip/zlib-1.2.5/gzread.c
+ src/share/native/java/util/zip/zlib-1.2.5/gzwrite.c
+ src/share/native/java/util/zip/zlib-1.2.5/infback.c
+ src/share/native/java/util/zip/zlib-1.2.5/inffast.c
+ src/share/native/java/util/zip/zlib-1.2.5/inffast.h
+ src/share/native/java/util/zip/zlib-1.2.5/inffixed.h
+ src/share/native/java/util/zip/zlib-1.2.5/inflate.c
+ src/share/native/java/util/zip/zlib-1.2.5/inflate.h
+ src/share/native/java/util/zip/zlib-1.2.5/inftrees.c
+ src/share/native/java/util/zip/zlib-1.2.5/inftrees.h
+ src/share/native/java/util/zip/zlib-1.2.5/patches/ChangeLog_java
+ src/share/native/java/util/zip/zlib-1.2.5/trees.c
+ src/share/native/java/util/zip/zlib-1.2.5/trees.h
+ src/share/native/java/util/zip/zlib-1.2.5/uncompr.c
+ src/share/native/java/util/zip/zlib-1.2.5/zadler32.c
+ src/share/native/java/util/zip/zlib-1.2.5/zconf.h
+ src/share/native/java/util/zip/zlib-1.2.5/zcrc32.c
+ src/share/native/java/util/zip/zlib-1.2.5/zlib.h
+ src/share/native/java/util/zip/zlib-1.2.5/zutil.c
+ src/share/native/java/util/zip/zlib-1.2.5/zutil.h
+ test/java/util/zip/DeInflate.java

Changeset: 07e359b01d8a
Author:    sherman
Date:      2011-11-29 13:05 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/07e359b01d8a

7109837: Provide a mechanism for computing an Adler32 checksum for the contents of a ByteBuffer
Summary: added methods Adler32/CRC32.update(ByteBuffer)
Reviewed-by: alanb

! make/java/zip/mapfile-vers
! src/share/classes/java/util/zip/Adler32.java
! src/share/classes/java/util/zip/CRC32.java
! src/share/native/java/util/zip/Adler32.c
! src/share/native/java/util/zip/CRC32.c
+ test/java/util/zip/TimeChecksum.java

Changeset: c5313d712ab0
Author:    lana
Date:      2011-11-29 12:04 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/c5313d712ab0

Merge


Changeset: a3edcdff37e1
Author:    lana
Date:      2011-11-29 13:49 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/a3edcdff37e1

Merge


Changeset: 4749df4f04f1
Author:    alanb
Date:      2011-11-30 10:57 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/4749df4f04f1

7030624: size_t usages in src/windows/native/java/io/io_util_md.c need to be re-visited
Reviewed-by: lancea, chegar

! src/share/native/java/io/io_util.c
! src/windows/native/java/io/io_util_md.c
! src/windows/native/java/io/io_util_md.h

Changeset: 7795c41ed54c
Author:    alanb
Date:      2011-11-30 12:42 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/7795c41ed54c

7116404: Miscellaneous warnings (java.rmi.**, serialization, some core classes)
Reviewed-by: lancea, chegar, smarks

! src/share/classes/java/io/File.java
! src/share/classes/java/io/ObjectInputStream.java
! src/share/classes/java/io/ObjectOutputStream.java
! src/share/classes/java/io/ObjectStreamClass.java
! src/share/classes/java/io/SequenceInputStream.java
! src/share/classes/java/lang/ClassLoader.java
! src/share/classes/java/lang/Enum.java
! src/share/classes/java/lang/Package.java
! src/share/classes/java/lang/Runtime.java
! src/share/classes/java/lang/SecurityManager.java
! src/share/classes/java/lang/System.java
! src/share/classes/java/lang/Thread.java
! src/share/classes/java/lang/ThreadGroup.java
! src/share/classes/java/rmi/MarshalledObject.java
! src/share/classes/java/rmi/dgc/VMID.java
! src/share/classes/java/rmi/server/LogStream.java
! src/share/classes/java/rmi/server/RemoteObject.java
! src/share/classes/sun/misc/JavaLangAccess.java
! src/share/classes/sun/misc/Launcher.java
! src/share/classes/sun/misc/Unsafe.java
! src/share/classes/sun/misc/VM.java

Changeset: 43a630f11af6
Author:    smarks
Date:      2011-11-30 13:11 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/43a630f11af6

7116322: enhance javac make rule with a little bit of instrumentation
Reviewed-by: dholmes, ohair

! make/common/Rules.gmk

Changeset: 3b8186aee592
Author:    chegar
Date:      2011-12-01 11:09 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/3b8186aee592

7116722: Miscellaneous warnings sun.misc ( and related classes )
Reviewed-by: alanb, darcy, forax, hawtin, lancea

! src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
! src/share/classes/java/net/InetAddress.java
! src/share/classes/java/util/jar/JarVerifier.java
! src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java
! src/share/classes/javax/script/ScriptEngineManager.java
! src/share/classes/sun/misc/BASE64Decoder.java
! src/share/classes/sun/misc/ExtensionDependency.java
! src/share/classes/sun/misc/JarIndex.java
! src/share/classes/sun/misc/JavaUtilJarAccess.java
! src/share/classes/sun/misc/ProxyGenerator.java
! src/share/classes/sun/misc/Service.java
! src/share/classes/sun/misc/Signal.java
! test/sun/misc/JarIndex/metaInfFilenames/Basic.java

Changeset: 89130611b178
Author:    mcimadamore
Date:      2011-12-01 18:34 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/89130611b178

7116954: Misc warnings in java.beans/java.beans.context
Summary: Remove generic warnings form java.beans and java.beans.context
Reviewed-by: alanb, chegar

! src/share/classes/java/beans/BeanDescriptor.java
! src/share/classes/java/beans/Beans.java
! src/share/classes/java/beans/ChangeListenerMap.java
! src/share/classes/java/beans/DefaultPersistenceDelegate.java
! src/share/classes/java/beans/Encoder.java
! src/share/classes/java/beans/EventHandler.java
! src/share/classes/java/beans/EventSetDescriptor.java
! src/share/classes/java/beans/FeatureDescriptor.java
! src/share/classes/java/beans/IndexedPropertyDescriptor.java
! src/share/classes/java/beans/Introspector.java
! src/share/classes/java/beans/MetaData.java
! src/share/classes/java/beans/MethodDescriptor.java
! src/share/classes/java/beans/NameGenerator.java
! src/share/classes/java/beans/PersistenceDelegate.java
! src/share/classes/java/beans/PropertyChangeSupport.java
! src/share/classes/java/beans/PropertyDescriptor.java
! src/share/classes/java/beans/PropertyEditorSupport.java
! src/share/classes/java/beans/ReflectionUtils.java
! src/share/classes/java/beans/SimpleBeanInfo.java
! src/share/classes/java/beans/Statement.java
! src/share/classes/java/beans/VetoableChangeSupport.java
! src/share/classes/java/beans/XMLEncoder.java
! src/share/classes/java/beans/beancontext/BeanContext.java
! src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java

Changeset: 0e3f706741ca
Author:    smarks
Date:      2011-12-01 16:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/0e3f706741ca

7116890: additional warnings fixes for java.io
Reviewed-by: alanb, smarks
Contributed-by: Sebastian Sickelmann <sebastian.sickelmann at gmx.de>

! src/share/classes/java/io/ExpiringCache.java
! src/share/classes/java/io/LineNumberInputStream.java
! src/share/classes/java/io/LineNumberReader.java
! src/share/classes/java/io/ObjectOutputStream.java
! src/share/classes/java/io/RandomAccessFile.java

Changeset: b03da32c3186
Author:    peytoia
Date:      2011-12-02 16:09 +0900
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/b03da32c3186

7056472: Speed up test/java/util/ResourceBundle/Control/ExpirationTest.sh
Reviewed-by: okutsu

- test/java/util/ResourceBundle/Control/ExpirationTest.java
- test/java/util/ResourceBundle/Control/ExpirationTest.sh

Changeset: f615db07991e
Author:    chegar
Date:      2011-12-02 11:39 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/f615db07991e

7116946: JSSecurityManager should use java.util.ServiceLoader to lookup service providers
Reviewed-by: prr

! src/share/classes/com/sun/media/sound/JSSecurityManager.java

Changeset: 37f6e294759f
Author:    chegar
Date:      2011-12-02 14:17 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/37f6e294759f

7116957: javax.script.ScriptEngineManager should use java.util.ServiceLoader to lookup service providers
Reviewed-by: alanb, lancea

! src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
! src/share/classes/javax/script/ScriptEngineManager.java
! src/share/classes/sun/net/ftp/FtpClientProvider.java

Changeset: 9950e2c9f3b5
Author:    alanb
Date:      2011-12-02 17:37 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/9950e2c9f3b5

7117357: Warnings in sun.instrument, tools and other sun.* classes
Reviewed-by: lancea, chegar

! src/share/classes/sun/instrument/InstrumentationImpl.java
! src/share/classes/sun/instrument/TransformerManager.java
! src/share/classes/sun/launcher/LauncherHelper.java
! src/share/classes/sun/management/counter/perf/PerfInstrumentation.java
! src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java
! src/share/classes/sun/net/RegisteredDomain.java
! src/share/classes/sun/net/www/protocol/jar/Handler.java
! src/share/classes/sun/tools/attach/HotSpotAttachProvider.java
! src/share/classes/sun/tools/jinfo/JInfo.java
! src/share/classes/sun/tools/jmap/JMap.java
! src/share/classes/sun/tools/jps/Jps.java
! src/share/classes/sun/tools/jstack/JStack.java
! src/share/classes/sun/tools/serialver/SerialVer.java

Changeset: 42532a097816
Author:    naoto
Date:      2011-12-02 16:04 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/42532a097816

7117465: Warning cleanup for IMF classes
Reviewed-by: okutsu

! src/share/classes/java/awt/im/InputMethodHighlight.java
! src/share/classes/sun/awt/im/CompositionArea.java
! src/share/classes/sun/awt/im/CompositionAreaHandler.java
! src/share/classes/sun/awt/im/InputContext.java
! src/share/classes/sun/awt/im/InputMethodContext.java
! src/share/classes/sun/awt/im/InputMethodJFrame.java
! src/share/classes/sun/awt/im/InputMethodManager.java
! src/share/classes/sun/awt/im/SimpleInputMethodWindow.java

Changeset: 1d7037df65ed
Author:    sherman
Date:      2011-12-02 16:25 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/1d7037df65ed

5035850: (str) String.CASE_INSENSITIVE_ORDER should override readResolve()
Summary: Fix to ensure singleton property of String.CaseInsensitiveComparator is maintained through de/serialization.
Reviewed-by: alanb, forax, smarks, dholmes
Contributed-by: darryl.mocek at oracle.com

! src/share/classes/java/lang/String.java
+ test/java/lang/String/CaseInsensitiveComparator.java

Changeset: 98502d7a3f98
Author:    mchung
Date:      2011-12-02 16:29 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/98502d7a3f98

7117585: Eliminate java.lang.instrument, java.lang.management warnings
Reviewed-by: mchung
Contributed-by: Jon VanAlten <jon.vanalten at redhat.com>

! src/share/classes/java/lang/instrument/ClassDefinition.java
! src/share/classes/java/lang/management/ManagementFactory.java
! src/share/classes/java/lang/management/PlatformComponent.java

Changeset: 3c524deb8431
Author:    lancea
Date:      2011-12-02 19:33 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/3c524deb8431

7116445: Miscellaneous warnings in the JDBC/RowSet classes
Reviewed-by: smarks, chegar

! src/share/classes/com/sun/rowset/CachedRowSetImpl.java
! src/share/classes/com/sun/rowset/FilteredRowSetImpl.java
! src/share/classes/com/sun/rowset/JdbcRowSetImpl.java
! src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java
! src/share/classes/com/sun/rowset/JoinRowSetImpl.java
! src/share/classes/com/sun/rowset/WebRowSetImpl.java
! src/share/classes/com/sun/rowset/internal/CachedRowSetReader.java
! src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java
! src/share/classes/com/sun/rowset/internal/Row.java
! src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
! src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java
! src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java
! src/share/classes/java/sql/Date.java
! src/share/classes/java/sql/DriverManager.java
! src/share/classes/java/sql/Time.java
! src/share/classes/java/sql/Timestamp.java
! src/share/classes/javax/sql/StatementEvent.java
! src/share/classes/javax/sql/rowset/BaseRowSet.java
! src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java
! src/share/classes/javax/sql/rowset/RowSetProvider.java
! src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java
! src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java
! src/share/classes/javax/sql/rowset/serial/SerialArray.java
! src/share/classes/javax/sql/rowset/serial/SerialBlob.java
! src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java
! src/share/classes/javax/sql/rowset/serial/SerialRef.java
! src/share/classes/javax/sql/rowset/serial/SerialStruct.java
! src/share/classes/javax/sql/rowset/spi/SyncFactory.java

Changeset: f2a5d0001f15
Author:    okutsu
Date:      2011-12-03 10:58 +0900
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/f2a5d0001f15

7117487: Warnings Cleanup: some i18n classes in java.util and sun.util
Reviewed-by: lancea, naoto

! src/share/classes/java/util/Date.java
! src/share/classes/java/util/GregorianCalendar.java
! src/share/classes/java/util/JapaneseImperialCalendar.java
! src/share/classes/java/util/ResourceBundle.java
! src/share/classes/sun/util/calendar/BaseCalendar.java
! src/share/classes/sun/util/calendar/CalendarSystem.java
! src/share/classes/sun/util/calendar/LocalGregorianCalendar.java
! src/share/classes/sun/util/calendar/ZoneInfo.java
! src/share/classes/sun/util/calendar/ZoneInfoFile.java
! src/share/classes/sun/util/resources/OpenListResourceBundle.java
! src/share/classes/sun/util/resources/TimeZoneNamesBundle.java

Changeset: 2ae848ea980a
Author:    weijun
Date:      2011-12-05 10:19 +0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/2ae848ea980a

7116857: Warnings in javax.security and some sun.misc
Reviewed-by: smarks

! src/share/classes/javax/security/auth/kerberos/ServicePermission.java
! src/share/classes/sun/misc/CEFormatException.java
! src/share/classes/sun/misc/CEStreamExhausted.java
! src/share/classes/sun/misc/ClassLoaderUtil.java
! src/share/classes/sun/misc/CompoundEnumeration.java
! src/share/classes/sun/misc/ExtensionInstallationException.java
! src/share/classes/sun/misc/FloatingDecimal.java
! src/share/classes/sun/misc/FormattedFloatingDecimal.java
! src/share/classes/sun/misc/InvalidJarIndexException.java
! src/share/classes/sun/misc/LRUCache.java
! src/share/classes/sun/misc/Queue.java
! src/share/classes/sun/misc/RequestProcessor.java
! src/share/classes/sun/misc/ServiceConfigurationError.java
! src/share/classes/sun/misc/URLClassPath.java

Changeset: 053cb321467a
Author:    alanb
Date:      2011-12-05 12:23 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/053cb321467a

7117717: (aio) Tests failing due to implementation bug 7052549
Reviewed-by: weijun, chegar

! test/ProblemList.txt
! test/java/nio/channels/AsynchronousSocketChannel/Basic.java

Changeset: da28826c5672
Author:    alanb
Date:      2011-12-05 12:24 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/da28826c5672

Merge


Changeset: f352dd3cdff8
Author:    dl
Date:      2011-12-05 13:58 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/f352dd3cdff8

7117360: Warnings in java.util.concurrent.atomic package
Reviewed-by: chegar, dholmes

! src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java
! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java
! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java
! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java
! src/share/classes/java/util/concurrent/atomic/AtomicLong.java
! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java
! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java
! src/share/classes/java/util/concurrent/atomic/AtomicReference.java
! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java
! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java
! src/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java

Changeset: 194faa6fdb3c
Author:    sherman
Date:      2011-12-05 10:50 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/194faa6fdb3c

5063455: (fmt) MissingFormatArgumentException.getFormatSpecifier() incorrect return value
Summary: updated the incorrect StringBuilder constructor usage
Reviewed-by: dholmes, sherman
Contributed-by: brandon.passanisi at oracle.com

! src/share/classes/java/util/Formatter.java
+ test/java/util/MissingFormatArgumentException/GetFormatSpecifier.java

Changeset: ca383e32deaf
Author:    peytoia
Date:      2011-12-06 08:39 +0900
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/ca383e32deaf

7116914: Miscellaneous warnings (sun.text)
Reviewed-by: smarks, okutsu

! src/share/classes/sun/text/CompactByteArray.java
! src/share/classes/sun/text/IntHashtable.java
! src/share/classes/sun/text/bidi/BidiBase.java
! src/share/classes/sun/text/normalizer/ICUData.java
! src/share/classes/sun/text/normalizer/NormalizerBase.java
! src/share/classes/sun/text/normalizer/NormalizerImpl.java
! src/share/classes/sun/text/normalizer/SymbolTable.java
! src/share/classes/sun/text/normalizer/UnicodeSet.java
! src/share/classes/sun/text/normalizer/UnicodeSetIterator.java
! src/share/classes/sun/text/normalizer/VersionInfo.java

Changeset: f4fe86bba8a2
Author:    smarks
Date:      2011-12-05 16:30 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/f4fe86bba8a2

7116993: fix warnings in java.applet
Reviewed-by: art, smarks
Contributed-by: Danesh Dadachanji <ddadacha at redhat.com>

! src/share/classes/java/applet/Applet.java

Changeset: 85363edbc92f
Author:    naoto
Date:      2011-12-05 17:08 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/85363edbc92f

7117469: Warning cleanup for j.u.Currency and j.u.Locale related classes
Reviewed-by: okutsu, smarks

! src/share/classes/java/util/Currency.java
! src/share/classes/sun/util/LocaleServiceProviderPool.java
! src/share/classes/sun/util/resources/LocaleData.java

Changeset: 77f6d4360f4b
Author:    smarks
Date:      2011-12-06 10:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/77f6d4360f4b

7116997: fix warnings in java.util.PropertyPermission
Reviewed-by: smarks
Contributed-by: Brandon Passanisi <brandon.passanisi at oracle.com>

! src/share/classes/java/util/PropertyPermission.java

Changeset: b71d1acfae52
Author:    lana
Date:      2011-12-06 20:25 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/b71d1acfae52

Merge

! src/share/classes/java/beans/Beans.java
! src/share/classes/java/beans/Encoder.java
! src/share/classes/java/beans/Introspector.java
! src/share/classes/java/beans/PropertyDescriptor.java
- src/share/native/java/util/zip/zlib-1.2.3/ChangeLog
- src/share/native/java/util/zip/zlib-1.2.3/README
- src/share/native/java/util/zip/zlib-1.2.3/compress.c
- src/share/native/java/util/zip/zlib-1.2.3/crc32.h
- src/share/native/java/util/zip/zlib-1.2.3/deflate.c
- src/share/native/java/util/zip/zlib-1.2.3/deflate.h
- src/share/native/java/util/zip/zlib-1.2.3/gzio.c
- src/share/native/java/util/zip/zlib-1.2.3/infback.c
- src/share/native/java/util/zip/zlib-1.2.3/inffast.c
- src/share/native/java/util/zip/zlib-1.2.3/inffast.h
- src/share/native/java/util/zip/zlib-1.2.3/inffixed.h
- src/share/native/java/util/zip/zlib-1.2.3/inflate.c
- src/share/native/java/util/zip/zlib-1.2.3/inflate.h
- src/share/native/java/util/zip/zlib-1.2.3/inftrees.c
- src/share/native/java/util/zip/zlib-1.2.3/inftrees.h
- src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java
- src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff
- src/share/native/java/util/zip/zlib-1.2.3/trees.c
- src/share/native/java/util/zip/zlib-1.2.3/trees.h
- src/share/native/java/util/zip/zlib-1.2.3/uncompr.c
- src/share/native/java/util/zip/zlib-1.2.3/zadler32.c
- src/share/native/java/util/zip/zlib-1.2.3/zconf.h
- src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c
- src/share/native/java/util/zip/zlib-1.2.3/zlib.h
- src/share/native/java/util/zip/zlib-1.2.3/zutil.c
- src/share/native/java/util/zip/zlib-1.2.3/zutil.h
- test/java/util/ResourceBundle/Control/ExpirationTest.java
- test/java/util/ResourceBundle/Control/ExpirationTest.sh


From lana.steuck at oracle.com  Tue Dec 13 19:16:16 2011
From: lana.steuck at oracle.com (lana.steuck at oracle.com)
Date: Tue, 13 Dec 2011 19:16:16 -0800 (PST)
Subject: jdk8-b17: JSN, Tools, Core Libraries, Serviceability, 2d, Awt,
	and Swing 
Message-ID: <201112140316.pBE3GGDE002909@jano-app.us.oracle.com>

http://hg.openjdk.java.net/jdk8/jdk8/rev/4e06ae613e99 
http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/1cbe86c11ba6 
http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/b71d1acfae52 
http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/3d45ab79643d 
http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/09eb517404b0 
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/d1f29d4e0bc6 
http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/82dc033975bb 

---

Component : 2d
Status    : 0 major failures, 0 minor failures
Date      : 12/12/2011 at 08:44
Tested By : Tony
Cost(total man-days): 1

Workspace : http://sqe-hg.us.oracle.com/hg/index.cgi/testbase/javase/functional/8/2d/
Bundles   : /net/jano1.us.oracle.com/export1/jcg/ws-depot/8/tl/build-archive/2011-12-07-042827.jcg-integrator.tl-pit-2d-awt/link-to-jprt-build/bundles
Platforms : 
Others

Tests     : /net/jano1.us.oracle.com/export1/jcg/ws-depot/8/tl/repo.latest-pit/jdk
Browsers  : NA
Patches   : NA
Logs      : /net/jano1.us.oracle.com/export1/jcg/ws-depot/8/tl/build-archive/2011-12-07-042827.jcg-integrator.tl-pit-2d-awt/logs/webrev/
Number of Tests Executed : 0 product tests, 0 unit tests, 0 tck tests

Bug verification status:
======================================
 Tested, Pass: 

 Tested, Pass (partial fixes): 

 Tested, Fail: 

 Untested bug fixes:
    Setup is not available: 
7116080: kcms need to support macosx
7117199: Fix javac warnings in src/share/classes/java/awt/font
    Build change only: 

 New bugs filed:
    Bugs in PIT build: 

    Bugs in earlier promoted build: 

Number of PIT requested: 1
Integration target J2SE build number: 1.8.0-b17

Issues and Notes:
  
-------------------------------
>From Tony

Component : JDBC
Status    : 0 major failures, 0 minor failures
Date      : 12/08/2011 at 23:02
Tested By : Eugene
Cost(total man-days): 1

Workspace : /net/jano1.us.oracle.com/export1/jcg/ws-depot/8/tl/build-archive/2011-12-07-042827.jcg-integrator.tl-pit-2d-awt/link-to-jprt-build/bundles 
Bundles   : /net/jano1.us.oracle.com/export1/jcg/ws-depot/8/tl/build-archive/2011-12-07-042827.jcg-integrator.tl-pit-2d-awt/link-to-jprt-build/bundles 
Platforms : 
Others

Tests     : http://stt-13.ru.oracle.com/hg/quality/index.cgi/170_int_ws/jdbc/
Browsers  : NA
Patches   : NA
Logs      : http://vice.ru.oracle.com/newroot/results/1.8.0/b17/pit/JDBC/workDir/tonga.output/
Number of Tests Executed : 1117 product tests, 0 unit tests, 0 tck tests

Bug verification status:
======================================
 Tested, Pass: 
7116445: Clean up JDBC compile time warnings

 Tested, Pass (partial fixes): 

 Tested, Fail: 

 Untested bug fixes:
    Setup is not available: 
    Build change only: 

 New bugs filed:
    Bugs in PIT build: 

    Bugs in earlier promoted build: 

Number of PIT requested: 1
Integration target J2SE build number: 1.8.0-b17

Issues and Notes:
  
-------------------------------
>From Eugene

Component : i18n
Status    : 0 major failures, 0 minor failures
Date      : 12/12/2011 at 23:37
Tested By : tomonori.shioda at oracle.com
Cost(total man-days): 1

Workspace : /net/jano1.us.oracle.com/export1/jcg/ws-depot/8/tl/repo.latest-pit/jdk
Bundles   : /net/jano1.us.oracle.com/export1/jcg/ws-depot/8/tl/build-archive/2011-11-08-234419.jcg-integrator.tl-pit-2d-awt/link-to-jprt-build/bundles
Platforms : 
Others

Tests     : /net/jano1.us.oracle.com/export1/jcg/ws-depot/8/tl/repo.latest-pit/jdk
Browsers  : NA
Patches   : NA
Logs      : http://machao22.cn.oracle.com/j2se/8/i18n/results/b17/regression/Windows7_x64-sp1-ja/reportDir/
Number of Tests Executed : 1 product tests, 4 unit tests, 0 tck tests

Bug verification status:
======================================
 Tested, Pass: 
7116914: Miscellaneous warnings (sun.text)
7117465: Warning cleanup for IMF classes
7117469: Warning cleanup for j.u.Currency and j.u.Locale related classes
7117487: Warnings Cleanup: some i18n classes in java.util and sun.util

 Tested, Pass (partial fixes): 

 Tested, Fail: 

 Untested bug fixes:
    Setup is not available: 
7056472: Speed up test/java/util/ResourceBundle/Control/ExpirationTest.sh
    Build change only: 

 New bugs filed:
    Bugs in PIT build: 

    Bugs in earlier promoted build: 

Number of PIT requested: 1
Integration target J2SE build number: 1.8.0-b17

Issues and Notes:
  
-------------------------------
>From tomonori.shioda at oracle.com

The following fixes were waived by SQE:
5035850 java classes_lang     (str) String.CASE_INSENSITIVE_ORDER should override readReso
5063455 java classes_util     (fmt) MissingFormatArgumentException.getFormatSpecifier() in
6938583 java classes_swing    Unexpected NullPointerException by InputContext.endCompositi
6996291 java classes_awt      command line selection of MToolkit by -Dawt.toolkit=sun.awt.
7030624 java classes_io       size_t usages in src/windows/native/java/io/io_util_md.c nee
7045370 java classes_awt      Java Statically Determines Display Size on Linux platforms
7057459 java classes_beans    Regression:  Performance degradation with java.beans.XMLEnco
7064279 java classes_beans    Introspector.getBeanInfo() should release some resources in
7086015 java compiler         fix test/tools/javac/parser/netbeans/JavacParserTest.java
7087429 java classes_beans    Constructor of java.beans.PropertyChangeEvent should declare
7087876 java classes_beans    java/beans/PropertyDescriptor.html#createPropertyEditor() th
7092744 java classes_beans    XMLEncoder fails to encode and breaks backward compatibility
7094995 java classes_util_jar test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.jav
7103610 java classes_awt      _NET_WM_PID and WM_CLIENT_MACHINE are not set
7108598 java classes_awt      Pogo Table Games freeze with JDK 7
7109085 java classes_swing    Test use hotkeys not intended for Mac
7109092 java embedded         Wrong computation results with double at armsflt
7109617 java classes_swing    Test was writed for Metal L&F but not set it.
7109837 java classes_util_jar Provide a mechanism for computing an Adler32 checksum for th
7110149 java classes_util_jar Update the JDK8 bundled zlib library to the latest version 1
7110440 java classes_swing    closed/javax/swing/JScrollBar/4865918/bug4865918.java fails
7110521 java classes_beans    Regression test failed: Introspector/TestTypeResolver.java
7112925 java classes_swing    closed/javax/swing/JTabbedPane/4624207/bug4624207.java fails
7113337 java classes_swing    Swing closed test tries to click in the area reserved for re
7115046 java compiler         Add AST node for lambda expressions
7115049 java compiler         Add AST node for method references
7115050 java compiler         Add parser support for lambda expressions
7115052 java compiler         Add parser support for method references
7115070 java classes_nio      (fs) lookupPrincipalByName/lookupPrincipalByGroupName should
7115150 java classes_net      java.net.HttpCookie code cleanup, style, formatting, typos
7115357 java classes_swing    closed/javax/swing/JTable/6263446/bug6263446Table.java fails
7115400 java classes_awt      jdk 8 awt-gate build fails in headless  toolkit on solaris.
7115524 java classes_security Regression: keytool -printcert -sslserver failure
7115586 java classes_nio      (so) Suppress creation of SocketImpl in SocketAdaptor's cons
7115744 java classes_security Do not call File::deleteOnExit in security tests
7116322 java build            enhance javac make rule with a little bit of instrumentation
7116404 java other            Miscellaneous warnings (java.rmi.**, serialization, some cor
7116722 java other            Miscellaneous warnings sun.misc ( and related classes )
7116857 java classes_security Warnings in javax.security and some sun.misc
7116890 java classes_io       additional warnings fixes for java.io
7116946 java classes_sound    JSSecurityManager should use java.util.ServiceLoader to look
7116954 java classes_beans    Misc warnings in java.beans/java.beans.context
7116957 scri api              javax.script.ScriptEngineManager should use java.util.Servic
7116993 java classes_awt      Misc warnings in java.applet
7116997 java classes_util     Misc warnings in java.util.PropertyPermission
7117357 java other            Warnings in sun.instrument, tools and other sun.* classes
7117360 java classes_util_con Warnings in java.util.concurrent.atomic package
7117585 java other            Eliminate java.lang.instrument, java.lang.management warning
7117717 java classes_nio      (aio) Tests failing due to implementation bug 7052549
7117914 hots runtime_system   i keep getting reports on my desk top.
7119032 java compiler         (javac) increase visibility of JavacParser methods to improv
7119487 java compiler         JavacParserTest.java test fails on Windows platforms
7120266 java compiler         javac fails to compile hotspot code

From stuart.marks at oracle.com  Wed Dec 14 15:22:44 2011
From: stuart.marks at oracle.com (Stuart Marks)
Date: Wed, 14 Dec 2011 15:22:44 -0800
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <FC2F76EA-9A99-4E27-9D50-4242B684A59A@oracle.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<20111202184726.GX2461@redhat.com>
	<21DB2F64-8352-4574-8EFB-58A0C563D907@oracle.com>
	<20111205203050.GL8668@redhat.com>
	<FC2F76EA-9A99-4E27-9D50-4242B684A59A@oracle.com>
Message-ID: <4EE92FC4.1080400@oracle.com>

Hi Deepak,

Any update on this? It sounds like it's fairly close to being finished. Just 
because Warnings Cleanup Day (Week) is over doesn't mean that we should give up.

s'marks

On 12/6/11 5:26 PM, John Rose wrote:
> On Dec 5, 2011, at 12:30 PM, Deepak Bhole wrote:
>
>>>    Since this is an important point, I checked into it.  Result: Wildcards
>>>    cannot (in general) be compatibly switched with named type parameters
>>>    in public APIs.
>>>    See the demonstration here:
>>>      [1]https://gist.github.com/1424776
>>>    (This is subject to correction by someone more expert than me in API
>>>    evolution, like Alex Buckley, Joe Darcy, or Maurizio Cimadamore.  I'm a
>>>    JVM hacker!)
>>>
>>
>> Thanks for the pointer! Yes, it is rather unfortunate that it cannot
>> changed then :( I have reverted it and added a more localized @SW
>> instead.
>
> Good.  I puzzled some more over the localized @SW and found a formulation
> that does not require any @SW at all.  It's a matter of choosing wildcards very
> carefully.  See patch below.
>
> Basically, it's one of those cases where a type T isn't good enough, but a type
> "? extends T" will do the job.  (I can't tell you all such cases, but this is one of them!)
>
>>>    I'm OK with that.  Replacing clone by an equivalent copy constructor
>>>    looks trivial enough to me, even though it changes bytecode output.
>>>
>>
>> As mentioned in my other email to R?mi, the clone constructor was my
>> initial plan but didn't work. Instead I am just initializing a temp var
>> (so that I can add a localized @SW) and then assigning the outer scope
>> var to it.
>
> Good.
>
>>>    Yep.  SW("serial") seems to be the wrong thing, almost everywhere.
>>
>> Out of curiosity, why is this? Is it because not having a serial can
>> cause invalid class errors or are there other reasons?
>
> If you don't have a SVUID, the system makes one for you. (It is the same
> one your IDE can generate explicitly.)  If you way @SW("serial"), you are
> telling the system that it can adjust the SVUID at will.  You get into trouble
> with this if somebody adds another (non-transient) field.  This changes the
> implicit SVUID.  This can lead to surprising results down the road.
>
>> Thanks for taking a look. New webrev:
>> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.02/
>>
>> As with before, diff between rev 01 and 02 is there too:
>> http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.02/rev-01-02.patch
>
>
>
> On Dec 2, 2011, at 2:12 PM, John Rose wrote:
>
>>>> In the same way, consider pushing the annotation into the body of class AttributeEntry, even though that class is very simple.
>>>>
>>>
>>> That one is for the declaration itself -- the warning is about the Map
>>> supertype not being parameterized.
>>
>>
>> I didn't get that clearly from the comment.  Suggest:
>> +// Suppress warning about raw Map.Entry. Parameterizing Map.Entry correctly
>> +// requires changing return of getKey
>> ++// Must suppress the whole class to suppress warning about raw supertype Map.Entry.
>> ++// Parameterizing Map.Entry correctly would requires changing return of getKey.
>
> I went back to class AttributeEntry and realized that it also does not need @SW.
> Since it is a non-public class, it is OK to change the supertype and the return value
> of getKey.  A simple correction to the type parameters of a non-public name is in
> scope for this project, as I read Stuart here:
>    http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-December/000380.html
>
> -+// Must suppress the whole class to suppress warning about raw supertype Map.Entry.
> -+// Parameterizing Map.Entry correctly would requires changing return of getKey.
> -+ at SuppressWarnings("rawtypes")
> -class AttributeEntry implements Map.Entry {
> ++class AttributeEntry implements Map.Entry<Attribute,Object>  {
> ...
> -    public Object getKey() {
> ++    public Attribute getKey() {
>
> (I could be mistaken about this; please double check.  I made a public API
> mistake in my own java.lang.invoke warnings cleanup!)
>
> Also, I noticed some extraneous blank lines surrounding @SW occurrences.
> They aren't needed.  Also, a few occurrences of @SW({"foo"}) do not need
> the braces:  @SW("foo").
>
> Here are all the adjustments I suggest, in one patch:
>    https://gist.github.com/1440966
>
> See if they work for you.  If so, we're done.
>
> -- John

From david.katleman at sun.com  Thu Dec 15 13:18:06 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 15 Dec 2011 21:18:06 +0000
Subject: hg: jdk8/jdk8: Added tag jdk8-b17 for changeset 4e06ae613e99
Message-ID: <20111215211806.ED670476E4@hg.openjdk.java.net>

Changeset: 8606f4ab62dc
Author:    katleman
Date:      2011-12-15 12:16 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/rev/8606f4ab62dc

Added tag jdk8-b17 for changeset 4e06ae613e99

! .hgtags


From david.katleman at sun.com  Thu Dec 15 13:18:17 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 15 Dec 2011 21:18:17 +0000
Subject: hg: jdk8/jdk8/corba: Added tag jdk8-b17 for changeset 82dc033975bb
Message-ID: <20111215211817.9C5EB476E6@hg.openjdk.java.net>

Changeset: 05f47d29b438
Author:    katleman
Date:      2011-12-15 12:16 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/05f47d29b438

Added tag jdk8-b17 for changeset 82dc033975bb

! .hgtags


From david.katleman at sun.com  Thu Dec 15 13:19:07 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 15 Dec 2011 21:19:07 +0000
Subject: hg: jdk8/jdk8/hotspot: Added tag jdk8-b17 for changeset d1f29d4e0bc6
Message-ID: <20111215211909.54458476E7@hg.openjdk.java.net>

Changeset: 698a22e99f74
Author:    katleman
Date:      2011-12-15 12:16 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/698a22e99f74

Added tag jdk8-b17 for changeset d1f29d4e0bc6

! .hgtags


From david.katleman at sun.com  Thu Dec 15 13:20:44 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 15 Dec 2011 21:20:44 +0000
Subject: hg: jdk8/jdk8/jaxp: Added tag jdk8-b17 for changeset 09eb517404b0
Message-ID: <20111215212044.EFA0D476E9@hg.openjdk.java.net>

Changeset: db44484a9d6e
Author:    katleman
Date:      2011-12-15 12:16 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/db44484a9d6e

Added tag jdk8-b17 for changeset 09eb517404b0

! .hgtags


From david.katleman at sun.com  Thu Dec 15 13:20:57 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 15 Dec 2011 21:20:57 +0000
Subject: hg: jdk8/jdk8/jaxws: Added tag jdk8-b17 for changeset 3d45ab79643d
Message-ID: <20111215212057.914FB476EA@hg.openjdk.java.net>

Changeset: b38846b9974c
Author:    katleman
Date:      2011-12-15 12:16 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/b38846b9974c

Added tag jdk8-b17 for changeset 3d45ab79643d

! .hgtags


From david.katleman at sun.com  Thu Dec 15 13:21:06 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 15 Dec 2011 21:21:06 +0000
Subject: hg: jdk8/jdk8/jdk: Added tag jdk8-b17 for changeset b71d1acfae52
Message-ID: <20111215212116.5F8DB476EB@hg.openjdk.java.net>

Changeset: cd95291bbbf3
Author:    katleman
Date:      2011-12-15 12:16 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/cd95291bbbf3

Added tag jdk8-b17 for changeset b71d1acfae52

! .hgtags


From david.katleman at sun.com  Thu Dec 15 13:22:27 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Thu, 15 Dec 2011 21:22:27 +0000
Subject: hg: jdk8/jdk8/langtools: Added tag jdk8-b17 for changeset 1cbe86c11ba6
Message-ID: <20111215212230.0FADA476EC@hg.openjdk.java.net>

Changeset: 55a49c399603
Author:    katleman
Date:      2011-12-15 12:16 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/55a49c399603

Added tag jdk8-b17 for changeset 1cbe86c11ba6

! .hgtags


From david.katleman at sun.com  Thu Dec 15 16:00:35 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 16 Dec 2011 00:00:35 +0000
Subject: hg: jdk8/jdk8: 2 new changesets
Message-ID: <20111216000035.91F5B476F5@hg.openjdk.java.net>

Changeset: d82d3bb3a2e5
Author:    katleman
Date:      2011-12-15 15:47 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/rev/d82d3bb3a2e5

Added tag jdk8-b16 for changeset 4e06ae613e99

! .hgtags

Changeset: 7010bd24cdd0
Author:    katleman
Date:      2011-12-15 15:51 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/rev/7010bd24cdd0

Merge

! .hgtags


From david.katleman at sun.com  Thu Dec 15 16:00:51 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 16 Dec 2011 00:00:51 +0000
Subject: hg: jdk8/jdk8/corba: 2 new changesets
Message-ID: <20111216000053.2CE60476F6@hg.openjdk.java.net>

Changeset: 6e51ad8d3707
Author:    katleman
Date:      2011-12-15 15:47 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/6e51ad8d3707

Added tag jdk8-b16 for changeset 82dc033975bb

! .hgtags

Changeset: 312cf15d1657
Author:    katleman
Date:      2011-12-15 15:52 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/312cf15d1657

Merge

! .hgtags


From david.katleman at sun.com  Thu Dec 15 16:01:32 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 16 Dec 2011 00:01:32 +0000
Subject: hg: jdk8/jdk8/hotspot: 2 new changesets
Message-ID: <20111216000136.DB997476F7@hg.openjdk.java.net>

Changeset: 09f3b8a372b2
Author:    katleman
Date:      2011-12-15 15:47 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/09f3b8a372b2

Added tag jdk8-b16 for changeset d1f29d4e0bc6

! .hgtags

Changeset: e46c2339d0fc
Author:    katleman
Date:      2011-12-15 15:52 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/e46c2339d0fc

Merge

! .hgtags


From david.katleman at sun.com  Thu Dec 15 16:02:56 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 16 Dec 2011 00:02:56 +0000
Subject: hg: jdk8/jdk8/jaxp: 2 new changesets
Message-ID: <20111216000256.1F110476F8@hg.openjdk.java.net>

Changeset: bc3ed3122933
Author:    katleman
Date:      2011-12-15 15:47 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/bc3ed3122933

Added tag jdk8-b16 for changeset 09eb517404b0

! .hgtags

Changeset: ebec6a7e8d4e
Author:    katleman
Date:      2011-12-15 15:54 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/ebec6a7e8d4e

Merge

! .hgtags


From david.katleman at sun.com  Thu Dec 15 16:03:02 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 16 Dec 2011 00:03:02 +0000
Subject: hg: jdk8/jdk8/jaxws: 2 new changesets
Message-ID: <20111216000302.B062F476F9@hg.openjdk.java.net>

Changeset: e662b652098c
Author:    katleman
Date:      2011-12-15 15:47 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/e662b652098c

Added tag jdk8-b16 for changeset 3d45ab79643d

! .hgtags

Changeset: 54928c8850f5
Author:    katleman
Date:      2011-12-15 15:54 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/54928c8850f5

Merge

! .hgtags


From david.katleman at sun.com  Thu Dec 15 16:03:30 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 16 Dec 2011 00:03:30 +0000
Subject: hg: jdk8/jdk8/jdk: 2 new changesets
Message-ID: <20111216000349.934C2476FA@hg.openjdk.java.net>

Changeset: 8f3d916a9164
Author:    katleman
Date:      2011-12-15 15:47 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/8f3d916a9164

Added tag jdk8-b16 for changeset 929597c6e777

! .hgtags

Changeset: e55ac966ed95
Author:    katleman
Date:      2011-12-15 15:55 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/e55ac966ed95

Merge

! .hgtags
- make/sun/motif12/reorder-i586
- make/sun/motif12/reorder-sparc
- make/sun/motif12/reorder-sparcv9
- src/share/native/java/util/zip/zlib-1.2.3/ChangeLog
- src/share/native/java/util/zip/zlib-1.2.3/README
- src/share/native/java/util/zip/zlib-1.2.3/compress.c
- src/share/native/java/util/zip/zlib-1.2.3/crc32.h
- src/share/native/java/util/zip/zlib-1.2.3/deflate.c
- src/share/native/java/util/zip/zlib-1.2.3/deflate.h
- src/share/native/java/util/zip/zlib-1.2.3/gzio.c
- src/share/native/java/util/zip/zlib-1.2.3/infback.c
- src/share/native/java/util/zip/zlib-1.2.3/inffast.c
- src/share/native/java/util/zip/zlib-1.2.3/inffast.h
- src/share/native/java/util/zip/zlib-1.2.3/inffixed.h
- src/share/native/java/util/zip/zlib-1.2.3/inflate.c
- src/share/native/java/util/zip/zlib-1.2.3/inflate.h
- src/share/native/java/util/zip/zlib-1.2.3/inftrees.c
- src/share/native/java/util/zip/zlib-1.2.3/inftrees.h
- src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java
- src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff
- src/share/native/java/util/zip/zlib-1.2.3/trees.c
- src/share/native/java/util/zip/zlib-1.2.3/trees.h
- src/share/native/java/util/zip/zlib-1.2.3/uncompr.c
- src/share/native/java/util/zip/zlib-1.2.3/zadler32.c
- src/share/native/java/util/zip/zlib-1.2.3/zconf.h
- src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c
- src/share/native/java/util/zip/zlib-1.2.3/zlib.h
- src/share/native/java/util/zip/zlib-1.2.3/zutil.c
- src/share/native/java/util/zip/zlib-1.2.3/zutil.h
- src/solaris/classes/sun/awt/motif/AWTLockAccess.java
- src/solaris/classes/sun/awt/motif/MFontPeer.java
- src/solaris/classes/sun/awt/motif/MToolkit.java
- src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java
- src/solaris/classes/sun/awt/motif/MWindowAttributes.java
- src/solaris/classes/sun/awt/motif/X11FontMetrics.java
- src/solaris/native/sun/awt/MouseInfo.c
- src/solaris/native/sun/awt/XDrawingArea.c
- src/solaris/native/sun/awt/XDrawingArea.h
- src/solaris/native/sun/awt/XDrawingAreaP.h
- src/solaris/native/sun/awt/awt_Cursor.h
- src/solaris/native/sun/awt/awt_KeyboardFocusManager.h
- src/solaris/native/sun/awt/awt_MToolkit.c
- src/solaris/native/sun/awt/awt_MToolkit.h
- src/solaris/native/sun/awt/awt_MenuItem.h
- src/solaris/native/sun/awt/awt_PopupMenu.h
- src/solaris/native/sun/awt/awt_TopLevel.h
- src/solaris/native/sun/awt/awt_Window.h
- src/solaris/native/sun/awt/awt_mgrsel.c
- src/solaris/native/sun/awt/awt_mgrsel.h
- src/solaris/native/sun/awt/awt_motif.h
- src/solaris/native/sun/awt/awt_wm.c
- src/solaris/native/sun/awt/awt_wm.h
- src/solaris/native/sun/awt/awt_xembed.h
- src/solaris/native/sun/awt/awt_xembed_server.c
- src/solaris/native/sun/awt/awt_xembed_server.h
- test/java/util/ResourceBundle/Control/ExpirationTest.java
- test/java/util/ResourceBundle/Control/ExpirationTest.sh


From david.katleman at sun.com  Thu Dec 15 16:05:19 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 16 Dec 2011 00:05:19 +0000
Subject: hg: jdk8/jdk8/langtools: 2 new changesets
Message-ID: <20111216000524.0F7EC476FB@hg.openjdk.java.net>

Changeset: 29a512337b79
Author:    katleman
Date:      2011-12-15 15:47 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/29a512337b79

Added tag jdk8-b16 for changeset ec2c0973cc31

! .hgtags

Changeset: ab1b1cc78577
Author:    katleman
Date:      2011-12-15 15:57 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/ab1b1cc78577

Merge

! .hgtags
- test/tools/javac/parser/netbeans/JavacParserTest.java


From dbhole at redhat.com  Mon Dec 19 10:01:04 2011
From: dbhole at redhat.com (Deepak Bhole)
Date: Mon, 19 Dec 2011 13:01:04 -0500
Subject: Review request for java.text.** warning cleanup
In-Reply-To: <4EE92FC4.1080400@oracle.com>
References: <20111201231919.GQ2461@redhat.com>
	<1D669183-D946-46C8-AB54-D6140D1C4093@oracle.com>
	<20111202184726.GX2461@redhat.com>
	<21DB2F64-8352-4574-8EFB-58A0C563D907@oracle.com>
	<20111205203050.GL8668@redhat.com>
	<FC2F76EA-9A99-4E27-9D50-4242B684A59A@oracle.com>
	<4EE92FC4.1080400@oracle.com>
Message-ID: <20111219180103.GH752@redhat.com>

* Stuart Marks <stuart.marks at oracle.com> [2011-12-14 18:21]:
> Hi Deepak,
> 
> Any update on this? It sounds like it's fairly close to being
> finished. Just because Warnings Cleanup Day (Week) is over doesn't
> mean that we should give up.
> 

Hi Stuart,

As Andrew already mentioned, I was away and got back on Friday. I've
just sent a message to John to get the final matters sorted out.
Hopefully this will get pushed soon!

Cheers,
Deepak

> s'marks
> 
> On 12/6/11 5:26 PM, John Rose wrote:
> >On Dec 5, 2011, at 12:30 PM, Deepak Bhole wrote:
> >
> >>>   Since this is an important point, I checked into it.  Result: Wildcards
> >>>   cannot (in general) be compatibly switched with named type parameters
> >>>   in public APIs.
> >>>   See the demonstration here:
> >>>     [1]https://gist.github.com/1424776
> >>>   (This is subject to correction by someone more expert than me in API
> >>>   evolution, like Alex Buckley, Joe Darcy, or Maurizio Cimadamore.  I'm a
> >>>   JVM hacker!)
> >>>
> >>
> >>Thanks for the pointer! Yes, it is rather unfortunate that it cannot
> >>changed then :( I have reverted it and added a more localized @SW
> >>instead.
> >
> >Good.  I puzzled some more over the localized @SW and found a formulation
> >that does not require any @SW at all.  It's a matter of choosing wildcards very
> >carefully.  See patch below.
> >
> >Basically, it's one of those cases where a type T isn't good enough, but a type
> >"? extends T" will do the job.  (I can't tell you all such cases, but this is one of them!)
> >
> >>>   I'm OK with that.  Replacing clone by an equivalent copy constructor
> >>>   looks trivial enough to me, even though it changes bytecode output.
> >>>
> >>
> >>As mentioned in my other email to R?mi, the clone constructor was my
> >>initial plan but didn't work. Instead I am just initializing a temp var
> >>(so that I can add a localized @SW) and then assigning the outer scope
> >>var to it.
> >
> >Good.
> >
> >>>   Yep.  SW("serial") seems to be the wrong thing, almost everywhere.
> >>
> >>Out of curiosity, why is this? Is it because not having a serial can
> >>cause invalid class errors or are there other reasons?
> >
> >If you don't have a SVUID, the system makes one for you. (It is the same
> >one your IDE can generate explicitly.)  If you way @SW("serial"), you are
> >telling the system that it can adjust the SVUID at will.  You get into trouble
> >with this if somebody adds another (non-transient) field.  This changes the
> >implicit SVUID.  This can lead to surprising results down the road.
> >
> >>Thanks for taking a look. New webrev:
> >>http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.02/
> >>
> >>As with before, diff between rev 01 and 02 is there too:
> >>http://cr.openjdk.java.net/~dbhole/java.text-warning-cleanup/webrev.02/rev-01-02.patch
> >
> >
> >
> >On Dec 2, 2011, at 2:12 PM, John Rose wrote:
> >
> >>>>In the same way, consider pushing the annotation into the body of class AttributeEntry, even though that class is very simple.
> >>>>
> >>>
> >>>That one is for the declaration itself -- the warning is about the Map
> >>>supertype not being parameterized.
> >>
> >>
> >>I didn't get that clearly from the comment.  Suggest:
> >>+// Suppress warning about raw Map.Entry. Parameterizing Map.Entry correctly
> >>+// requires changing return of getKey
> >>++// Must suppress the whole class to suppress warning about raw supertype Map.Entry.
> >>++// Parameterizing Map.Entry correctly would requires changing return of getKey.
> >
> >I went back to class AttributeEntry and realized that it also does not need @SW.
> >Since it is a non-public class, it is OK to change the supertype and the return value
> >of getKey.  A simple correction to the type parameters of a non-public name is in
> >scope for this project, as I read Stuart here:
> >   http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-December/000380.html
> >
> >-+// Must suppress the whole class to suppress warning about raw supertype Map.Entry.
> >-+// Parameterizing Map.Entry correctly would requires changing return of getKey.
> >-+ at SuppressWarnings("rawtypes")
> >-class AttributeEntry implements Map.Entry {
> >++class AttributeEntry implements Map.Entry<Attribute,Object>  {
> >...
> >-    public Object getKey() {
> >++    public Attribute getKey() {
> >
> >(I could be mistaken about this; please double check.  I made a public API
> >mistake in my own java.lang.invoke warnings cleanup!)
> >
> >Also, I noticed some extraneous blank lines surrounding @SW occurrences.
> >They aren't needed.  Also, a few occurrences of @SW({"foo"}) do not need
> >the braces:  @SW("foo").
> >
> >Here are all the adjustments I suggest, in one patch:
> >   https://gist.github.com/1440966
> >
> >See if they work for you.  If so, we're done.
> >
> >-- John

From igor.nekrestyanov at oracle.com  Mon Dec 19 10:41:43 2011
From: igor.nekrestyanov at oracle.com (igor.nekrestyanov at oracle.com)
Date: Mon, 19 Dec 2011 18:41:43 +0000
Subject: hg: jdk8/jdk8/jdk: 5 new changesets
Message-ID: <20111219184242.2E59547759@hg.openjdk.java.net>

Changeset: 134420afe9c2
Author:    ngthomas
Date:      2011-11-13 21:39 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/134420afe9c2

7109885: security baseline for 7u2 or above is not set correctly
Reviewed-by: ccheung, igor, ohair

! make/common/shared/Sanity.gmk

Changeset: 6f594239e9dc
Author:    ngthomas
Date:      2011-11-15 23:33 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/6f594239e9dc

7112298: remove security baseline sanity check
Reviewed-by: ccheung, igor, ohair

! make/common/shared/Sanity.gmk

Changeset: fcc7cafa0027
Author:    herrick
Date:      2011-11-18 06:35 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/fcc7cafa0027

Merge

- make/sun/rmi/rmi/mapfile-vers
- src/share/classes/sun/security/pkcs/EncodingException.java
- src/share/classes/sun/security/pkcs/PKCS10.java
- src/share/classes/sun/security/pkcs/PKCS10Attribute.java
- src/share/classes/sun/security/pkcs/PKCS10Attributes.java
- src/share/classes/sun/security/util/BigInt.java
- src/share/classes/sun/security/util/PathList.java
- src/share/classes/sun/security/x509/CertAndKeyGen.java
- src/share/native/sun/rmi/server/MarshalInputStream.c
- test/java/net/DatagramSocket/ChangingAddress.java
- test/sun/security/util/BigInt/BigIntEqualsHashCode.java

Changeset: 526e99f06a59
Author:    igor
Date:      2011-12-06 16:31 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/526e99f06a59

Merge

- test/java/io/FileDescriptor/FileChannelFDTest.java
- test/java/io/etc/FileDescriptorSharing.java

Changeset: 334bd51fb3f3
Author:    igor
Date:      2011-12-19 10:06 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/334bd51fb3f3

Merge

- make/sun/motif12/reorder-i586
- make/sun/motif12/reorder-sparc
- make/sun/motif12/reorder-sparcv9
- src/share/native/java/util/zip/zlib-1.2.3/ChangeLog
- src/share/native/java/util/zip/zlib-1.2.3/README
- src/share/native/java/util/zip/zlib-1.2.3/compress.c
- src/share/native/java/util/zip/zlib-1.2.3/crc32.h
- src/share/native/java/util/zip/zlib-1.2.3/deflate.c
- src/share/native/java/util/zip/zlib-1.2.3/deflate.h
- src/share/native/java/util/zip/zlib-1.2.3/gzio.c
- src/share/native/java/util/zip/zlib-1.2.3/infback.c
- src/share/native/java/util/zip/zlib-1.2.3/inffast.c
- src/share/native/java/util/zip/zlib-1.2.3/inffast.h
- src/share/native/java/util/zip/zlib-1.2.3/inffixed.h
- src/share/native/java/util/zip/zlib-1.2.3/inflate.c
- src/share/native/java/util/zip/zlib-1.2.3/inflate.h
- src/share/native/java/util/zip/zlib-1.2.3/inftrees.c
- src/share/native/java/util/zip/zlib-1.2.3/inftrees.h
- src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java
- src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff
- src/share/native/java/util/zip/zlib-1.2.3/trees.c
- src/share/native/java/util/zip/zlib-1.2.3/trees.h
- src/share/native/java/util/zip/zlib-1.2.3/uncompr.c
- src/share/native/java/util/zip/zlib-1.2.3/zadler32.c
- src/share/native/java/util/zip/zlib-1.2.3/zconf.h
- src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c
- src/share/native/java/util/zip/zlib-1.2.3/zlib.h
- src/share/native/java/util/zip/zlib-1.2.3/zutil.c
- src/share/native/java/util/zip/zlib-1.2.3/zutil.h
- src/solaris/classes/sun/awt/motif/AWTLockAccess.java
- src/solaris/classes/sun/awt/motif/MFontPeer.java
- src/solaris/classes/sun/awt/motif/MToolkit.java
- src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java
- src/solaris/classes/sun/awt/motif/MWindowAttributes.java
- src/solaris/classes/sun/awt/motif/X11FontMetrics.java
- src/solaris/native/sun/awt/MouseInfo.c
- src/solaris/native/sun/awt/XDrawingArea.c
- src/solaris/native/sun/awt/XDrawingArea.h
- src/solaris/native/sun/awt/XDrawingAreaP.h
- src/solaris/native/sun/awt/awt_Cursor.h
- src/solaris/native/sun/awt/awt_KeyboardFocusManager.h
- src/solaris/native/sun/awt/awt_MToolkit.c
- src/solaris/native/sun/awt/awt_MToolkit.h
- src/solaris/native/sun/awt/awt_MenuItem.h
- src/solaris/native/sun/awt/awt_PopupMenu.h
- src/solaris/native/sun/awt/awt_TopLevel.h
- src/solaris/native/sun/awt/awt_Window.h
- src/solaris/native/sun/awt/awt_mgrsel.c
- src/solaris/native/sun/awt/awt_mgrsel.h
- src/solaris/native/sun/awt/awt_motif.h
- src/solaris/native/sun/awt/awt_wm.c
- src/solaris/native/sun/awt/awt_wm.h
- src/solaris/native/sun/awt/awt_xembed.h
- src/solaris/native/sun/awt/awt_xembed_server.c
- src/solaris/native/sun/awt/awt_xembed_server.h
- test/java/util/ResourceBundle/Control/ExpirationTest.java
- test/java/util/ResourceBundle/Control/ExpirationTest.sh


From john.coomes at oracle.com  Tue Dec 20 16:47:14 2011
From: john.coomes at oracle.com (john.coomes at oracle.com)
Date: Wed, 21 Dec 2011 00:47:14 +0000
Subject: hg: jdk8/jdk8/hotspot: 53 new changesets
Message-ID: <20111221004901.A5CA047773@hg.openjdk.java.net>

Changeset: da4182086289
Author:    jcoomes
Date:      2011-11-18 17:39 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/da4182086289

7113503: Bump the hs23 build number to 07
Reviewed-by: johnc
Contributed-by: alejandro.murillo at oracle.com

! make/hotspot_version

Changeset: 36b057451829
Author:    dholmes
Date:      2011-11-16 20:38 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/36b057451829

7110017: is_headless_jre should be updated to reflect the new location of awt toolkit libraries
Reviewed-by: dholmes, dsamersoff
Contributed-by: Chris Hegarty <chris.hegarty at oracle.com>

! src/os/bsd/vm/os_bsd.cpp
! src/os/linux/vm/os_linux.cpp
! src/os/solaris/vm/os_solaris.cpp

Changeset: 002cb3fc8256
Author:    coleenp
Date:      2011-11-18 17:26 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/002cb3fc8256

Merge


Changeset: c17bc65648de
Author:    brutisso
Date:      2011-11-21 08:02 +0100
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/c17bc65648de

7112308: Fix Visual Studio build for precompiled header
Summary: Add the new path to precompiled.hpp in the project make file
Reviewed-by: coleenp, dholmes, brutisso
Contributed-by: rbackman <rickard.backman at oracle.com>

! make/windows/makefiles/projectcreator.make

Changeset: 1d090cf33da6
Author:    coleenp
Date:      2011-11-21 10:22 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/1d090cf33da6

Merge


Changeset: 242b4e0e6f73
Author:    phh
Date:      2011-11-29 09:21 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/242b4e0e6f73

7116189: Export JVM_SetNativeThreadName from Hotspot
Summary: Added JVM_SetNativeThreadName to linker mapfiles on Solaris and Linux.
Reviewed-by: dcubed, dholmes
Contributed-by: michael.x.mcmahon at oracle.com

! make/linux/makefiles/mapfile-vers-debug
! make/linux/makefiles/mapfile-vers-product
! make/solaris/makefiles/mapfile-vers

Changeset: 763f01599ff4
Author:    phh
Date:      2011-11-29 17:00 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/763f01599ff4

7116481: Commercial features in Hotspot must be gated by a switch
Summary: Add -XX:+UnlockCommercialVMOptions to gate use of commercial feature switches in the same way as -XX:UnlockDiagnosticVMOptions gates use of diagnostic feature switches.
Reviewed-by: jwilhelm, kamg

! src/share/vm/runtime/globals.cpp
! src/share/vm/runtime/globals.hpp
! src/share/vm/runtime/globals_extension.hpp

Changeset: 358eca91be48
Author:    phh
Date:      2011-11-30 12:48 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/358eca91be48

7116730: Revert 7116481: Commercial features in Hotspot must be gated by a switch
Summary: Revert 7116481 to current hsx/hotspot-main
Reviewed-by: kamg

! src/share/vm/runtime/globals.cpp
! src/share/vm/runtime/globals.hpp
! src/share/vm/runtime/globals_extension.hpp

Changeset: 81a08cd7f6a1
Author:    coleenp
Date:      2011-12-01 13:42 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/81a08cd7f6a1

Merge


Changeset: a88de71c4e3a
Author:    tonyp
Date:      2011-11-18 12:52 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/a88de71c4e3a

7097002: G1: remove a lot of unused / redundant code from the G1CollectorPolicy class
Summary: Major cleanup of the G1CollectorPolicy class. It removes a lot of unused fields and methods and also consolidates replicated information (mainly various ways of counting the number of CSet regions) into one copy.
Reviewed-by: johnc, brutisso

! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp
! src/share/vm/gc_implementation/g1/g1RemSet.cpp
! src/share/vm/gc_implementation/g1/g1_globals.hpp

Changeset: d06a2d7fcd5b
Author:    brutisso
Date:      2011-11-21 07:47 +0100
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/d06a2d7fcd5b

7110718: -XX:MarkSweepAlwaysCompactCount=0 crashes the JVM
Summary: Interpret MarkSweepAlwaysCompactCount < 1 as never do full compaction
Reviewed-by: ysr, tonyp, jmasa, johnc

! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp
! src/share/vm/memory/space.hpp

Changeset: b5a5f30c483d
Author:    johnc
Date:      2011-11-21 09:24 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/b5a5f30c483d

7110173: GCNotifier::pushNotification publishes stale data.
Summary: GCNotifier::pushNotification() references GCMemoryManager::_last_gc_stat but is called from GCMemoryManager::gc_end() before GCMemoryManager::_last_gc_stat is set up using the values in GCMemoryManager::_current_gc_stat. As a result the GC notification code accesses unitialized or stale data. Move the notification call after GCMemoryManager::_las_gc_stat is set, but inside the same if-block.
Reviewed-by: poonam, dholmes, fparain, mchung

! src/share/vm/services/memoryManager.cpp

Changeset: 6071e0581859
Author:    johnc
Date:      2011-11-18 12:27 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/6071e0581859

7111795: G1: Various cleanups identified during walk through of changes for 6484965
Summary: Various cleanups and formatting changes identified during a code walk through of the changes for 6484965 ("G1: piggy-back liveness accounting phase on marking").
Reviewed-by: brutisso, tonyp

! src/share/vm/gc_implementation/g1/concurrentMark.cpp
! src/share/vm/gc_implementation/g1/heapRegion.hpp

Changeset: 3a298e04d914
Author:    tonyp
Date:      2011-11-22 04:47 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/3a298e04d914

Merge


Changeset: bca17e38de00
Author:    jmasa
Date:      2011-08-09 10:16 -0700
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/bca17e38de00

6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
Summary: Select number of GC threads dynamically based on heap usage and number of Java threads
Reviewed-by: johnc, ysr, jcoomes

! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp
! src/share/vm/gc_implementation/g1/concurrentMark.cpp
! src/share/vm/gc_implementation/g1/concurrentMark.hpp
! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp
! src/share/vm/gc_implementation/g1/g1RemSet.cpp
! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp
! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp
! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp
! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.hpp
! src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp
! src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.hpp
! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp
! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.hpp
! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp
! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp
! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp
! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp
! src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp
! src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp
! src/share/vm/gc_implementation/shared/adaptiveSizePolicy.hpp
! src/share/vm/memory/cardTableModRefBS.cpp
! src/share/vm/memory/cardTableRS.cpp
! src/share/vm/memory/sharedHeap.cpp
! src/share/vm/memory/sharedHeap.hpp
! src/share/vm/runtime/arguments.cpp
! src/share/vm/runtime/globals.hpp
! src/share/vm/runtime/thread.cpp
! src/share/vm/utilities/workgroup.cpp
! src/share/vm/utilities/workgroup.hpp
! src/share/vm/utilities/yieldingWorkgroup.cpp
! src/share/vm/utilities/yieldingWorkgroup.hpp

Changeset: 00dd86e542eb
Author:    johnc
Date:      2011-11-28 09:49 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/00dd86e542eb

7114303: G1: assert(_g1->mark_in_progress()) failed: shouldn't be here otherwise
Summary: Race between the VM thread reading G1CollectedHeap::_mark_in_progress and it being set by the concurrent mark thread when concurrent marking is aborted by a full GC. Have the concurrent mark thread join the SuspendibleThreadSet before changing the marking state.
Reviewed-by: tonyp, brutisso

! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp
! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp

Changeset: dc467e8b2c5e
Author:    johnc
Date:      2011-11-17 12:40 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/dc467e8b2c5e

7112743: G1: Reduce overhead of marking closure during evacuation pauses
Summary: Parallelize the serial code that was used to mark objects reachable from survivor objects in the collection set. Some minor improvments in the timers used to track the freeing of the collection set along with some tweaks to PrintGCDetails.
Reviewed-by: tonyp, brutisso

! src/share/vm/gc_implementation/g1/concurrentMark.cpp
! src/share/vm/gc_implementation/g1/concurrentMark.hpp
! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp
! src/share/vm/gc_implementation/g1/g1RemSet.cpp
! src/share/vm/gc_implementation/g1/g1RemSet.hpp
! src/share/vm/gc_implementation/g1/heapRegion.hpp
! src/share/vm/oops/objArrayOop.hpp

Changeset: ea640b5e949a
Author:    jmasa
Date:      2011-11-22 14:18 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/ea640b5e949a

7106024: CMS: Removed unused code for precleaning in remark phase
Summary: Remove dead code.
Reviewed-by: stefank, ysr

! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
! src/share/vm/memory/cardTableModRefBS.cpp
! src/share/vm/memory/cardTableModRefBS.hpp

Changeset: 7913e93dca52
Author:    jmasa
Date:      2011-11-22 14:59 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/7913e93dca52

7112997: Remove obsolete code ResetObjectsClosure and VerifyUpdateClosure
Summary: Remove obsolete code.
Reviewed-by: brutisso, ysr, jcoomes

! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp
! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp
! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp
! src/share/vm/gc_implementation/shared/markSweep.hpp
! src/share/vm/gc_implementation/shared/markSweep.inline.hpp

Changeset: 1bbf5b6fb7b0
Author:    tonyp
Date:      2011-12-02 08:52 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/1bbf5b6fb7b0

Merge

! src/share/vm/runtime/globals.hpp

Changeset: 6de8c9ba5907
Author:    jcoomes
Date:      2011-12-02 15:11 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/6de8c9ba5907

Merge


Changeset: aed8bf036ce2
Author:    jcoomes
Date:      2011-12-02 15:11 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/aed8bf036ce2

Added tag hs23-b07 for changeset 6de8c9ba5907

! .hgtags

Changeset: cf4dd13bbcd3
Author:    jcoomes
Date:      2011-12-02 21:10 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/cf4dd13bbcd3

7117536: new hotspot build - hs23-b08
Reviewed-by: johnc

! make/hotspot_version

Changeset: cd00eaeebef6
Author:    phh
Date:      2011-12-05 12:50 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/cd00eaeebef6

7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
Summary: Add a file, globals_ext.hpp, containing a null interface, to be replaced by a vendor in altsrc as needed.
Reviewed-by: coleenp, kamg, dholmes, johnc, jrose

! src/share/vm/runtime/globals.cpp
! src/share/vm/runtime/globals.hpp
+ src/share/vm/runtime/globals_ext.hpp
! src/share/vm/runtime/globals_extension.hpp

Changeset: 8657ec177a14
Author:    dcubed
Date:      2011-12-05 14:55 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/8657ec177a14

7117748: SA_APPLE_BOOT_JAVA and ALWAYS_PASS_TEST_GAMMA settings should not be required on MacOS X
Summary: Replace SA_APPLE_BOOT_JAVA with logic that checks the boot JDK for the location of JDI classes. ALWAYS_PASS_TEST_GAMMA is true by default on Darwin.
Reviewed-by: kvn, swingler

! make/bsd/makefiles/buildtree.make
! make/bsd/makefiles/sa.make

Changeset: 41cce03b29a8
Author:    dcubed
Date:      2011-12-06 05:28 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/41cce03b29a8

Merge


Changeset: 03865c41c4f3
Author:    vladidan
Date:      2011-12-06 16:35 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/03865c41c4f3

Merge

! src/share/vm/runtime/globals.hpp

Changeset: 55d777c0860a
Author:    dcubed
Date:      2011-12-07 07:27 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/55d777c0860a

7118648: disable compressed oops by default on MacOS X until 7118647 is fixed
Summary: UseCompressedOops is false by default on MacOS X; can still be set manually
Reviewed-by: jmelvin, kvn, dholmes

! src/share/vm/runtime/arguments.cpp

Changeset: e8fdaf4a66cb
Author:    kvn
Date:      2011-11-10 20:17 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/e8fdaf4a66cb

7110586: C2 generates incorrect results
Summary: Exact limit of empty loop calculated incorrectly.
Reviewed-by: iveresov, never

! src/share/vm/opto/loopnode.cpp
+ test/compiler/7110586/Test7110586.java

Changeset: 8c57262447d3
Author:    kvn
Date:      2011-11-14 18:38 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/8c57262447d3

7105605: Use EA info to optimize pointers compare
Summary: optimize pointers compare using EA information.
Reviewed-by: never, twisti

! src/share/vm/opto/c2_globals.hpp
! src/share/vm/opto/cfgnode.cpp
! src/share/vm/opto/escape.cpp
! src/share/vm/opto/escape.hpp

Changeset: 6729bbc1fcd6
Author:    twisti
Date:      2011-11-16 01:39 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/6729bbc1fcd6

7003454: order constants in constant table by number of references in code
Reviewed-by: kvn, never, bdelsart

! src/cpu/sparc/vm/assembler_sparc.hpp
! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
! src/cpu/sparc/vm/methodHandles_sparc.cpp
! src/cpu/sparc/vm/sharedRuntime_sparc.cpp
! src/cpu/sparc/vm/sparc.ad
! src/cpu/sparc/vm/vtableStubs_sparc.cpp
! src/cpu/x86/vm/assembler_x86.hpp
! src/cpu/x86/vm/stubGenerator_x86_64.cpp
! src/cpu/x86/vm/x86_32.ad
! src/cpu/x86/vm/x86_64.ad
! src/share/vm/adlc/adlparse.cpp
! src/share/vm/adlc/output_c.cpp
! src/share/vm/asm/assembler.hpp
! src/share/vm/opto/compile.cpp
! src/share/vm/opto/compile.hpp
! src/share/vm/opto/machnode.cpp
! src/share/vm/opto/matcher.hpp

Changeset: 1bd45abaa507
Author:    kvn
Date:      2011-11-16 09:13 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/1bd45abaa507

6890673: Eliminate allocations immediately after EA
Summary: Try to eliminate allocations and related locks immediately after escape analysis.
Reviewed-by: never

! src/share/vm/opto/block.cpp
! src/share/vm/opto/callnode.cpp
! src/share/vm/opto/callnode.hpp
! src/share/vm/opto/compile.cpp
! src/share/vm/opto/escape.cpp
! src/share/vm/opto/gcm.cpp
! src/share/vm/opto/loopnode.cpp
! src/share/vm/opto/macro.cpp
! src/share/vm/opto/macro.hpp
! src/share/vm/opto/memnode.cpp
! src/share/vm/opto/memnode.hpp

Changeset: 973293defacd
Author:    iveresov
Date:      2011-11-16 19:42 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/973293defacd

7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks
Summary: Move the inlinee invoke notification callback into inlinee preamble
Reviewed-by: kvn, never

! src/share/vm/c1/c1_GraphBuilder.cpp
! src/share/vm/c1/c1_Instruction.hpp
! src/share/vm/c1/c1_LIRGenerator.cpp
! src/share/vm/runtime/simpleThresholdPolicy.cpp
! src/share/vm/runtime/simpleThresholdPolicy.hpp
! test/compiler/6792161/Test6792161.java

Changeset: a04a201f0f5a
Author:    twisti
Date:      2011-11-17 04:07 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/a04a201f0f5a

7108383: JSR 292: JRuby bench_define_method_methods.rb: assert(slow_jvms != NULL) failed: miss path must not
Reviewed-by: kvn, never

! src/share/vm/ci/ciMethod.hpp
! src/share/vm/opto/callGenerator.cpp
! src/share/vm/opto/callGenerator.hpp
! src/share/vm/opto/doCall.cpp

Changeset: 59bc0d4d9ea3
Author:    never
Date:      2011-11-18 10:29 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/59bc0d4d9ea3

7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable
Reviewed-by: kvn, iveresov, twisti

! src/cpu/x86/vm/assembler_x86.cpp
! src/cpu/x86/vm/methodHandles_x86.hpp
! src/cpu/x86/vm/stubGenerator_x86_64.cpp

Changeset: 7793051af7d6
Author:    twisti
Date:      2011-11-21 00:57 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/7793051af7d6

7110058: change default for ScavengeRootsInCode to 2
Reviewed-by: kvn, never

! src/share/vm/runtime/globals.hpp

Changeset: f03a3c8bd5e5
Author:    roland
Date:      2011-09-14 09:22 +0200
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/f03a3c8bd5e5

7077312: Provide a CALL effect for instruct declaration in the ad file
Summary: abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers)
Reviewed-by: twisti, never

! src/share/vm/adlc/adlparse.cpp
! src/share/vm/adlc/adlparse.hpp
! src/share/vm/adlc/archDesc.cpp
! src/share/vm/adlc/formssel.cpp
! src/share/vm/adlc/formssel.hpp
! src/share/vm/adlc/output_h.cpp
! src/share/vm/opto/block.hpp
! src/share/vm/opto/idealGraphPrinter.cpp
! src/share/vm/opto/lcm.cpp
! src/share/vm/opto/machnode.hpp
! src/share/vm/opto/node.hpp

Changeset: db2e64ca2d5a
Author:    roland
Date:      2011-11-22 09:45 +0100
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/db2e64ca2d5a

7090968: Allow adlc register class to depend on runtime conditions
Summary: allow reg_class definition as a function.
Reviewed-by: kvn, never

! src/cpu/sparc/vm/sparc.ad
! src/cpu/x86/vm/x86_32.ad
! src/cpu/x86/vm/x86_64.ad
! src/share/vm/adlc/adlparse.cpp
! src/share/vm/adlc/archDesc.cpp
! src/share/vm/adlc/formsopt.cpp
! src/share/vm/adlc/formsopt.hpp
! src/share/vm/adlc/output_c.cpp
! src/share/vm/opto/matcher.hpp

Changeset: cc81b9c09bbb
Author:    kvn
Date:      2011-11-28 15:46 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/cc81b9c09bbb

7112478: after 7105605 JRuby bench_define_method_methods.rb fails with NPE
Summary: Fixed several EA issues with Connection Graph construction.
Reviewed-by: never, twisti

! src/share/vm/ci/bcEscapeAnalyzer.cpp
! src/share/vm/ci/bcEscapeAnalyzer.hpp
! src/share/vm/compiler/compileBroker.cpp
! src/share/vm/opto/escape.cpp
! src/share/vm/opto/escape.hpp

Changeset: 97825a4f7369
Author:    iveresov
Date:      2011-11-30 17:35 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/97825a4f7369

7116795: Tiered: enable by default for server
Summary: Enable tiered compilation on server VM by default
Reviewed-by: kvn, never

! make/jprt.properties
! src/cpu/sparc/vm/c2_globals_sparc.hpp
! src/cpu/x86/vm/c2_globals_x86.hpp

Changeset: f745b2be3737
Author:    kvn
Date:      2011-12-02 21:37 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/f745b2be3737

7117282: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)
Summary: Delay memory node transformation until the memory is processed.
Reviewed-by: iveresov, never

! src/share/vm/opto/memnode.cpp

Changeset: 81f7362f7bed
Author:    kvn
Date:      2011-12-08 10:27 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/81f7362f7bed

Merge

! make/jprt.properties
! src/share/vm/runtime/globals.hpp

Changeset: 4406629aa157
Author:    johnc
Date:      2011-12-02 12:39 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/4406629aa157

7114095: G1: assert(obj == oopDesc::load_decode_heap_oop(p)) failed: p should still be pointing to obj
Summary: As a result of  the changes for 4965777, the G1 reference field scanning closure could be applied to the discovered field of a reference object twice. The failing assert is too strong if the result of the first application of the closure is stolen, and the referenced object, evacuated by another worker thread.
Reviewed-by: ysr, tonyp

! src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp

Changeset: e37aedaedccd
Author:    tonyp
Date:      2011-12-05 12:26 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/e37aedaedccd

Merge


Changeset: f1391adc6681
Author:    stefank
Date:      2011-11-28 10:19 +0100
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/f1391adc6681

7112034: Parallel CMS fails to properly mark reference objects
Summary: Enabled reference processing when work stealing during concurrent marking
Reviewed-by: jmasa, brutisso

! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp

Changeset: f4414323345f
Author:    stefank
Date:      2011-11-28 14:58 +0100
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/f4414323345f

7116081: USE_PRECOMPILED_HEADER=0 triggers a single threaded build of the JVM
Summary: Changed the conditional to see if the precompiled header has been specified. Also, removed the unused PrecompiledOption.
Reviewed-by: dholmes, brutisso

! make/bsd/makefiles/gcc.make
! make/bsd/makefiles/top.make
! make/linux/makefiles/gcc.make
! make/linux/makefiles/top.make
! make/solaris/makefiles/gcc.make

Changeset: d23d2b18183e
Author:    tonyp
Date:      2011-12-07 12:54 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/d23d2b18183e

7118202: G1: eden size unnecessarily drops to a minimum
Summary: An integer underflow can cause the RSet lengths to be massively overpredicted which forces the eden size to the minimum.
Reviewed-by: brutisso, johnc

! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp

Changeset: e9b91fd07263
Author:    jmasa
Date:      2011-12-09 06:46 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/e9b91fd07263

Merge


Changeset: 6d7d0790074d
Author:    jmasa
Date:      2011-12-09 19:28 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/6d7d0790074d

7119584: UseParallelGC barrier task can be overwritten.
Summary: Provoke a GC for a metadata allocation failure.
Reviewed-by: johnc, iveresov

! src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp
! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp

Changeset: 3b688d6ff3d0
Author:    fparain
Date:      2011-12-14 04:30 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/3b688d6ff3d0

7104647: Adding a diagnostic command framework
Reviewed-by: phh, dcubed

! src/share/vm/services/attachListener.cpp
+ src/share/vm/services/diagnosticArgument.cpp
+ src/share/vm/services/diagnosticArgument.hpp
+ src/share/vm/services/diagnosticCommand.cpp
+ src/share/vm/services/diagnosticCommand.hpp
+ src/share/vm/services/diagnosticFramework.cpp
+ src/share/vm/services/diagnosticFramework.hpp
! src/share/vm/services/jmm.h
! src/share/vm/services/management.cpp

Changeset: 31f6f10e4379
Author:    vladidan
Date:      2011-12-14 20:06 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/31f6f10e4379

Merge


Changeset: a2fef924d8e6
Author:    amurillo
Date:      2011-12-16 12:38 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/a2fef924d8e6

Merge

! .hgtags

Changeset: 61165f53f165
Author:    amurillo
Date:      2011-12-16 12:37 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/61165f53f165

Added tag hs23-b08 for changeset a2fef924d8e6

! .hgtags


From alejandro.murillo at oracle.com  Tue Dec 20 17:26:30 2011
From: alejandro.murillo at oracle.com (Alejandro E Murillo)
Date: Tue, 20 Dec 2011 18:26:30 -0700
Subject: jdk8-b18: HotSpot
Message-ID: <4EF135C6.6020004@oracle.com>

hs23-b08 has been integrated into jdk8-b18.

http://hg.openjdk.java.net/jdk8/jdk8/rev/7010bd24cdd0
http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/312cf15d1657
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/61165f53f165
http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/ebec6a7e8d4e
http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/54928c8850f5
http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/334bd51fb3f3
http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/ab1b1cc78577

Component : VM
Status    : 0 major failures, 0 minor failures
Date      : 12/20/2011 at 10:39
Tested By : VM SQE&  leonid.mesnik at oracle.com
Cost(total man-days): 1

Workspace : /net/prt-archiver.us.oracle.com/data/jprt/archive/2011/12/2011-12-16-204738.jcoomes.hs23-b08-snapshot
Bundles   : /net/prt-archiver.us.oracle.com/data/jprt/archive/2011/12/2011-12-16-204738.jcoomes.hs23-b08-snapshot
Platforms :
Others

Tests     : /net/sqenfs-1.sfbay/export1/comp/vm/testbase/
Browsers  : NA
Patches   : NA
Logs      : http://sqeweb.us.oracle.com/nfs/results/vm/gtee/HSX/PIT/VM/hs23/b08/8/b18/2011-12-17/
Number of Tests Executed : 333032 product tests, 0 unit tests, 0 tck tests

Bug verification status:
======================================
  Tested, Pass:
7104647: Adding a diagnostic command framework
7105605: Use EA info to optimize pointers compare
7108383: JSR 292: JRuby bench_define_method_methods.rb: assert(slow_jvms != NULL) failed: miss path must not
7110017: is_headless_jre should be updated to reflect the new location of awt toolkit libraries
7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable
7110586: C2 generates incorrect results
7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks
7112478: after 7105605 JRuby bench_define_method_methods.rb fails with NPE
7116189: Export JVM_SetNativeThreadName from Hotspot
7116481: Commercial features in Hotspot must be gated by a switch
7116730: Revert 7116481: Commercial features in Hotspot must be gated by a switch
7116795: Tiered: enable by default for server
7117282: Tiered: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)->higher_equal(TypePtr:
7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
7117748: SA_APPLE_BOOT_JAVA and ALWAYS_PASS_TEST_GAMMA settings should not be required on MacOS X
7118648: disable compressed oops by default on MacOS X until 7118647 is fixed

  Tested, Pass (partial fixes):

  Tested, Fail:

  Untested bug fixes:
     Setup is not available:
6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
6890673: Eliminate allocations immediately after EA
7003454: order constants in constant table by number of references in code
7077312: Provide a CALL effect for instruct declaration in the ad file
7090968: Allow adlc register class to depend on runtime conditions
7110058: change default for ScavengeRootsInCode to 2
7110173: GCNotifier::pushNotification publishes stale data.
7110718: -XX:MarkSweepAlwaysCompactCount=0 crashes the JVM
7112034: Parallel CMS fails to properly mark reference objects
7112743: G1: Reduce overhead of marking closure during evacuation pauses
7112997: Remove obsolete code ResetObjectsClosure and VerifyUpdateClosure
7114095: G1: assert(obj == oopDesc::load_decode_heap_oop(p)) failed: p should still be pointing to obj
7114303: G1: assert(_g1->mark_in_progress()) failed: shouldn't be here otherwise
7118202: G1: eden size unnecessarily drops to the minimum
7119584: UseParallelGC barrier task can be overwritten.
     Build change only:
7097002: G1: remove a lot of unused / redundant code from the G1CollectorPolicy class
7106024: CMS: Removed unused code for precleaning in remark phase
7111795: G1: Various cleanups identified during walk through of changes for 6484965
7112308: Fix Visual Studio build for precompiled header
7113503: Bump the hs23 build number to 07
7116081: USE_PRECOMPILED_HEADER=0 triggers a single threaded build of the JVM
7117536: new hotspot build - hs23-b08

  New bugs filed:
     Bugs in PIT build:

     Bugs in earlier promoted build:

Number of PIT requested: 1
Integration target J2SE build number: 1.8.0-b18

Issues and Notes:
   This PIT for HS23 b08 into JDK8 b18.

-------------------------------
 From VM SQE&  leonid.mesnik at oracle.com

-- 
Alejandro E Murillo, Java Performance
Phone:  (303) 955-2584.
Timezone: US/Mountain (UTC-0700)


From pranav.bhat at oracle.com  Thu Dec 22 10:49:24 2011
From: pranav.bhat at oracle.com (pranav bhat)
Date: Thu, 22 Dec 2011 13:49:24 -0500
Subject: Is there any way to test run jcheck if you don't have commit rights?
Message-ID: <4EF37BB4.7060002@oracle.com>

Hello,

Not sure if this is the right ML to ask this question but I thought I'd 
give it a try:

Is there anyways to kind of "test run" jcheck to see if your changeset 
will be accepted for format / file permissions (eg: Reviewed-by:, 
Contributed-by: tags, files should not have executable bit set etc) if 
it were to be actually pushed especially when you don't have any 
commit/push rights on any forest?

I haven't been here long enough and hence this might be a very trivial 
question. I apologize in advance. :-)

Thanks,
- Pranav

From niklas.schlimm at provinzial.com  Thu Dec 22 12:03:46 2011
From: niklas.schlimm at provinzial.com (niklas.schlimm at provinzial.com)
Date: Thu, 22 Dec 2011 21:03:46 +0100
Subject: =?windows-1252?Q?AUTO=3A_Schlimm=2C_Niklas_is_out_of_the_office=2E_=28?=
	=?windows-1252?Q?R=FCckkehr_am_28=2E12=2E2011=29?=
Message-ID: <OF52C98A0C.32A53BFD-ONC125796E.006E357F-C125796E.006E357F@provinzial.com>


Ich bin bis 28.12.2011 abwesend.

Ich werde Ihre Nachricht nach meiner R?ckkehr beantworten.
Themen rund um Releaseverfahren und Tabex/4 betreuen Oliver Krebs (stellv.
Gruppenleiter) und Andreas Stenger.
Continuous Integration und Testautomatisierung betreut Dirk Pohle.
Java und Framework-Themen werden von Frau Danijela Steinacker betreut.


Hinweis: Dies ist eine automatische Antwort auf Ihre Nachricht  "jdk8-dev
Digest, Vol 8, Issue 36" gesendet am 22.12.2011 21:00:01.

Diese ist die einzige Benachrichtigung, die Sie empfangen werden, w?hrend
diese Person abwesend ist.



Provinzial Rheinland Versicherung AG ? Die Versicherung der Sparkassen ; Amtsgericht D?sseldorf HRB 41241;
Provinzial Rheinland Lebensversicherung AG ? Die Versicherung der Sparkassen; Amtsgericht D?sseldorf HRB 41741;
Sitz der Gesellschaften: Provinzialplatz 1, D-40591 D?sseldorf; 
Vorsitzender der Aufsichtsr?te: Michael Breuer
Vorst?nde: Ulrich Jansen, Vorsitzender; Patric Fedlmeier, Sabine Krummenerl, Guido Schaefers, Peter Slawik

Die Berufsunf?higkeitsversicherung der Provinzial erh?lt im wichtigsten
Teilbereich "BU-Bedingungen" mit f?nf Sternen Spitzenbewertung der
Ratingagentur Morgen und Morgen! 

www.provinzial.com

Denken Sie an die Umwelt, bevor Sie diese E-Mail ausdrucken!

From amitag at ca.ibm.com  Thu Dec 22 13:01:45 2011
From: amitag at ca.ibm.com (Amit Aggarwal)
Date: Thu, 22 Dec 2011 16:01:45 -0500
Subject: AUTO: Amit Aggarwal is out of the office. (returning 01/16/2012)
Message-ID: <OFB1CFBEFC.155A8E99-ON8525796E.0073849D-8525796E.0073849D@ca.ibm.com>



I am out of the office until 01/16/2012.

I will respond to your message when I return.

For GPE, please contact Jill Sawatzky or Jason Mah
For any other issues, please contact my manager Warren Leslie.


Note: This is an automated response to your message  "jdk8-dev Digest, Vol
8, Issue 36" sent on 12/22/11 15:00:01.

This is the only notification you will receive while this person is away.

From kelly.ohair at oracle.com  Thu Dec 22 13:58:15 2011
From: kelly.ohair at oracle.com (Kelly O'Hair)
Date: Thu, 22 Dec 2011 13:58:15 -0800
Subject: Is there any way to test run jcheck if you don't have commit
	rights?
In-Reply-To: <4EF37BB4.7060002@oracle.com>
References: <4EF37BB4.7060002@oracle.com>
Message-ID: <2169453E-C2F0-4DAD-A2AD-7FEA943D7411@oracle.com>


Try  'hg jcheck'   more info with 'hg help jcheck'

-kto

On Dec 22, 2011, at 10:49 AM, pranav bhat wrote:

> Hello,
> 
> Not sure if this is the right ML to ask this question but I thought I'd give it a try:
> 
> Is there anyways to kind of "test run" jcheck to see if your changeset will be accepted for format / file permissions (eg: Reviewed-by:, Contributed-by: tags, files should not have executable bit set etc) if it were to be actually pushed especially when you don't have any commit/push rights on any forest?
> 
> I haven't been here long enough and hence this might be a very trivial question. I apologize in advance. :-)
> 
> Thanks,
> - Pranav


From omajid at redhat.com  Thu Dec 22 14:36:53 2011
From: omajid at redhat.com (Omair Majid)
Date: Thu, 22 Dec 2011 17:36:53 -0500
Subject: Is there any way to test run jcheck if you don't have commit
	rights?
In-Reply-To: <2169453E-C2F0-4DAD-A2AD-7FEA943D7411@oracle.com>
References: <4EF37BB4.7060002@oracle.com>
	<2169453E-C2F0-4DAD-A2AD-7FEA943D7411@oracle.com>
Message-ID: <4EF3B105.70100@redhat.com>

On 12/22/2011 04:58 PM, Kelly O'Hair wrote:
>
> Try  'hg jcheck'   more info with 'hg help jcheck'
>

$ hg jcheck
hg: unknown command 'jcheck'

Is that a custom mercurial extension? Where can I get it?

Thanks,
Omair

From mark.reinhold at oracle.com  Thu Dec 22 15:09:29 2011
From: mark.reinhold at oracle.com (mark.reinhold at oracle.com)
Date: Thu, 22 Dec 2011 15:09:29 -0800
Subject: Is there any way to test run jcheck if you don't have commit
	rights?
In-Reply-To: omajid@redhat.com; Thu, 22 Dec 2011 17:36:53 EST;
	<4EF3B105.70100@redhat.com>
Message-ID: <20111222230929.0E9571084@eggemoggin.niobe.net>

2011/12/22 14:36 -0800, omajid at redhat.com:
> $ hg jcheck
> hg: unknown command 'jcheck'
> 
> Is that a custom mercurial extension? Where can I get it?

Yes, it's a custom extension.  It's not available
outside Oracle, but we're working to fix that.

- Mark

From christine.lu at oracle.com  Thu Dec 22 19:04:33 2011
From: christine.lu at oracle.com (christine.lu at oracle.com)
Date: Fri, 23 Dec 2011 03:04:33 +0000
Subject: hg: jdk8/jdk8: Added tag jdk8-b18 for changeset 7010bd24cdd0
Message-ID: <20111223030433.25BEA477A0@hg.openjdk.java.net>

Changeset: e1fc13802e0c
Author:    cl
Date:      2011-12-22 19:00 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/rev/e1fc13802e0c

Added tag jdk8-b18 for changeset 7010bd24cdd0

! .hgtags


From christine.lu at oracle.com  Thu Dec 22 19:04:40 2011
From: christine.lu at oracle.com (christine.lu at oracle.com)
Date: Fri, 23 Dec 2011 03:04:40 +0000
Subject: hg: jdk8/jdk8/corba: Added tag jdk8-b18 for changeset 312cf15d1657
Message-ID: <20111223030440.CEA48477A1@hg.openjdk.java.net>

Changeset: 46bd4a46a5a8
Author:    cl
Date:      2011-12-22 19:00 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/46bd4a46a5a8

Added tag jdk8-b18 for changeset 312cf15d1657

! .hgtags


From christine.lu at oracle.com  Thu Dec 22 19:05:21 2011
From: christine.lu at oracle.com (christine.lu at oracle.com)
Date: Fri, 23 Dec 2011 03:05:21 +0000
Subject: hg: jdk8/jdk8/hotspot: Added tag jdk8-b18 for changeset 61165f53f165
Message-ID: <20111223030523.779DA477A2@hg.openjdk.java.net>

Changeset: 7e075537835d
Author:    cl
Date:      2011-12-22 19:00 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/7e075537835d

Added tag jdk8-b18 for changeset 61165f53f165

! .hgtags


From christine.lu at oracle.com  Thu Dec 22 19:06:34 2011
From: christine.lu at oracle.com (christine.lu at oracle.com)
Date: Fri, 23 Dec 2011 03:06:34 +0000
Subject: hg: jdk8/jdk8/jaxp: Added tag jdk8-b18 for changeset ebec6a7e8d4e
Message-ID: <20111223030634.B13A4477A3@hg.openjdk.java.net>

Changeset: 5fb25931f1c2
Author:    cl
Date:      2011-12-22 19:00 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/5fb25931f1c2

Added tag jdk8-b18 for changeset ebec6a7e8d4e

! .hgtags


From christine.lu at oracle.com  Thu Dec 22 19:06:41 2011
From: christine.lu at oracle.com (christine.lu at oracle.com)
Date: Fri, 23 Dec 2011 03:06:41 +0000
Subject: hg: jdk8/jdk8/jaxws: Added tag jdk8-b18 for changeset 54928c8850f5
Message-ID: <20111223030641.44BC5477A4@hg.openjdk.java.net>

Changeset: 72d410c3bab1
Author:    cl
Date:      2011-12-22 19:00 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/72d410c3bab1

Added tag jdk8-b18 for changeset 54928c8850f5

! .hgtags


From christine.lu at oracle.com  Thu Dec 22 19:06:50 2011
From: christine.lu at oracle.com (christine.lu at oracle.com)
Date: Fri, 23 Dec 2011 03:06:50 +0000
Subject: hg: jdk8/jdk8/jdk: Added tag jdk8-b18 for changeset 334bd51fb3f3
Message-ID: <20111223030659.D9051477A5@hg.openjdk.java.net>

Changeset: c6fab5332075
Author:    cl
Date:      2011-12-22 19:00 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/c6fab5332075

Added tag jdk8-b18 for changeset 334bd51fb3f3

! .hgtags


From christine.lu at oracle.com  Thu Dec 22 19:08:17 2011
From: christine.lu at oracle.com (christine.lu at oracle.com)
Date: Fri, 23 Dec 2011 03:08:17 +0000
Subject: hg: jdk8/jdk8/langtools: Added tag jdk8-b18 for changeset ab1b1cc78577
Message-ID: <20111223030819.D3BC0477A6@hg.openjdk.java.net>

Changeset: 3c71fcc22b99
Author:    cl
Date:      2011-12-22 19:00 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/3c71fcc22b99

Added tag jdk8-b18 for changeset ab1b1cc78577

! .hgtags


From lana.steuck at oracle.com  Mon Dec 26 11:04:13 2011
From: lana.steuck at oracle.com (lana.steuck at oracle.com)
Date: Mon, 26 Dec 2011 19:04:13 +0000
Subject: hg: jdk8/jdk8/jaxws: 4 new changesets
Message-ID: <20111226190413.784CA477DA@hg.openjdk.java.net>

Changeset: 6d622b1b4db0
Author:    ohair
Date:      2011-12-12 08:13 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/6d622b1b4db0

7117110: Remove target 1.5 from jaxp and jaxws repo builds for mac
Reviewed-by: alanb

! build.xml

Changeset: 6d2030eacdac
Author:    ohair
Date:      2011-12-12 08:13 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/6d2030eacdac

7119829: Adjust default jprt testing configuration
Reviewed-by: alanb

! make/jprt.properties

Changeset: b2e4ab8b5fa3
Author:    lana
Date:      2011-12-15 19:49 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/b2e4ab8b5fa3

Merge


Changeset: b73b733214aa
Author:    lana
Date:      2011-12-23 16:36 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/b73b733214aa

Merge



From lana.steuck at oracle.com  Mon Dec 26 11:04:13 2011
From: lana.steuck at oracle.com (lana.steuck at oracle.com)
Date: Mon, 26 Dec 2011 19:04:13 +0000
Subject: hg: jdk8/jdk8/jaxp: 4 new changesets
Message-ID: <20111226190413.7565C477D9@hg.openjdk.java.net>

Changeset: a482d45c93e9
Author:    ohair
Date:      2011-12-12 08:12 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/a482d45c93e9

7117110: Remove target 1.5 from jaxp and jaxws repo builds for mac
Reviewed-by: alanb

! build.xml

Changeset: a49db7c01db7
Author:    ohair
Date:      2011-12-12 08:12 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/a49db7c01db7

7119829: Adjust default jprt testing configuration
Reviewed-by: alanb

! make/jprt.properties

Changeset: f26e2ab2c2c7
Author:    lana
Date:      2011-12-15 19:49 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/f26e2ab2c2c7

Merge


Changeset: dffeb62b1a7f
Author:    lana
Date:      2011-12-23 16:36 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/dffeb62b1a7f

Merge



From lana.steuck at oracle.com  Mon Dec 26 11:04:13 2011
From: lana.steuck at oracle.com (lana.steuck at oracle.com)
Date: Mon, 26 Dec 2011 19:04:13 +0000
Subject: hg: jdk8/jdk8: 3 new changesets
Message-ID: <20111226190413.72BE7477D8@hg.openjdk.java.net>

Changeset: 9acd7374ff8a
Author:    ohair
Date:      2011-12-12 08:11 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/rev/9acd7374ff8a

7119829: Adjust default jprt testing configuration
Reviewed-by: alanb

! make/jprt.properties
! test/Makefile

Changeset: 00d13c40d7a7
Author:    lana
Date:      2011-12-15 19:49 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/rev/00d13c40d7a7

Merge


Changeset: 237bc29afbfc
Author:    lana
Date:      2011-12-23 16:36 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/rev/237bc29afbfc

Merge



From lana.steuck at oracle.com  Mon Dec 26 11:04:13 2011
From: lana.steuck at oracle.com (lana.steuck at oracle.com)
Date: Mon, 26 Dec 2011 19:04:13 +0000
Subject: hg: jdk8/jdk8/corba: 4 new changesets
Message-ID: <20111226190416.631E9477DB@hg.openjdk.java.net>

Changeset: 75529c21094f
Author:    ohair
Date:      2011-12-12 08:15 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/75529c21094f

7119829: Adjust default jprt testing configuration
Reviewed-by: alanb

! make/jprt.properties

Changeset: 0289a94d653b
Author:    lana
Date:      2011-12-15 19:49 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/0289a94d653b

Merge


Changeset: 052dda3b5ce3
Author:    dmeetry
Date:      2011-12-18 22:12 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/052dda3b5ce3

7046238: new InitialContext(); hangs
Summary: Synchronization on a single monitor for contactInfo parameters with identical hashCode()
Reviewed-by: robm, skoppar

! src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java

Changeset: e1366c5d84ef
Author:    lana
Date:      2011-12-23 16:36 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/e1366c5d84ef

Merge



From lana.steuck at oracle.com  Mon Dec 26 11:04:13 2011
From: lana.steuck at oracle.com (lana.steuck at oracle.com)
Date: Mon, 26 Dec 2011 19:04:13 +0000
Subject: hg: jdk8/jdk8/langtools: 11 new changesets
Message-ID: <20111226190439.DAE80477DC@hg.openjdk.java.net>

Changeset: 4822dfe0922b
Author:    ohair
Date:      2011-12-12 08:15 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/4822dfe0922b

7119829: Adjust default jprt testing configuration
Reviewed-by: alanb

! make/jprt.properties

Changeset: 3809292620c9
Author:    jjg
Date:      2011-12-13 11:21 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/3809292620c9

7120736: refactor javac option handling
Reviewed-by: mcimadamore

! src/share/classes/com/sun/tools/javac/api/JavacTool.java
! src/share/classes/com/sun/tools/javac/code/Source.java
! src/share/classes/com/sun/tools/javac/comp/Check.java
! src/share/classes/com/sun/tools/javac/comp/Enter.java
! src/share/classes/com/sun/tools/javac/comp/Lower.java
! src/share/classes/com/sun/tools/javac/file/Locations.java
! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
! src/share/classes/com/sun/tools/javac/jvm/Gen.java
! src/share/classes/com/sun/tools/javac/jvm/Target.java
! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java
! src/share/classes/com/sun/tools/javac/main/Main.java
! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java
! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java
! src/share/classes/com/sun/tools/javac/util/BaseFileManager.java
! src/share/classes/com/sun/tools/javac/util/Log.java
! src/share/classes/com/sun/tools/javac/util/Options.java
! test/tools/javac/diags/examples/UnsupportedEncoding.java

Changeset: 4e4fed1d02f9
Author:    jjg
Date:      2011-12-13 14:33 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/4e4fed1d02f9

7121164: renamed files not committed
Reviewed-by: ksrini

- src/share/classes/com/sun/tools/javac/main/JavacOption.java
+ src/share/classes/com/sun/tools/javac/main/Option.java
+ src/share/classes/com/sun/tools/javac/main/OptionHelper.java
- src/share/classes/com/sun/tools/javac/main/OptionName.java
- src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java

Changeset: 4261dc8af622
Author:    jjg
Date:      2011-12-14 16:16 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/4261dc8af622

7111022: javac no long prints last round of processing
7121323: Sqe tests using -Xstdout option fail with an invalid flag error message
Reviewed-by: darcy

! src/share/classes/com/sun/tools/javac/main/Option.java
! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java
! src/share/classes/com/sun/tools/javac/util/Log.java
! test/tools/javac/4846262/Test.sh
+ test/tools/javac/processing/options/testPrintProcessorInfo/TestWithXstdout.java
! test/tools/javac/util/T6597678.java

Changeset: 281eeedf9755
Author:    jjg
Date:      2011-12-14 17:52 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/281eeedf9755

7121681: compiler message file broken for javac -fullversion
Reviewed-by: jjh

! src/share/classes/com/sun/tools/javac/main/Option.java

Changeset: 42ffceeceeca
Author:    jjg
Date:      2011-12-14 21:52 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/42ffceeceeca

7121682: remove obsolete import
Reviewed-by: jjh

! test/tools/javac/api/T6838467.java

Changeset: ab2a880cc23b
Author:    lana
Date:      2011-12-15 19:53 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/ab2a880cc23b

Merge


Changeset: 6b773fdeb633
Author:    jjg
Date:      2011-12-16 13:49 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/6b773fdeb633

7121961: javadoc is missing a resource property
Reviewed-by: bpatel

! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties

Changeset: a7a2720c7897
Author:    jjh
Date:      2011-12-16 16:41 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/a7a2720c7897

7122342: testPrintProcessorInfo/TestWithXstdout.java failed for JDK8 nightly build at 12/16/2011
Summary: Do not pass empty args to javac
Reviewed-by: jjg

! test/tools/javac/processing/options/testPrintProcessorInfo/TestWithXstdout.java

Changeset: 1ae5988e201b
Author:    mcimadamore
Date:      2011-12-19 12:07 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/1ae5988e201b

7120463: Fix method reference parser support in order to avoid ambiguities
Summary: Add lookahead routine to disambiguate between method reference in method context and binary expression
Reviewed-by: jjg, dlsmith

! src/share/classes/com/sun/tools/javac/parser/JavacParser.java
! test/tools/javac/lambda/MethodReferenceParserTest.java

Changeset: 77b2c066084c
Author:    lana
Date:      2011-12-23 16:39 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/77b2c066084c

Merge

- src/share/classes/com/sun/tools/javac/main/JavacOption.java
- src/share/classes/com/sun/tools/javac/main/OptionName.java
- src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java


From lana.steuck at oracle.com  Mon Dec 26 11:04:25 2011
From: lana.steuck at oracle.com (lana.steuck at oracle.com)
Date: Mon, 26 Dec 2011 19:04:25 +0000
Subject: hg: jdk8/jdk8/jdk: 26 new changesets
Message-ID: <20111226190841.38920477DD@hg.openjdk.java.net>

Changeset: 7dbc53242c2a
Author:    art
Date:      2011-12-07 17:45 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/7dbc53242c2a

7117008: Warnings cleanup day: reduce number of javac warnings in the sun.awt package
Reviewed-by: anthony, denis, bagiras

! src/share/classes/sun/awt/AWTAutoShutdown.java
! src/share/classes/sun/awt/AppContext.java
! src/share/classes/sun/awt/CausedFocusEvent.java
! src/share/classes/sun/awt/DebugSettings.java
! src/share/classes/sun/awt/EmbeddedFrame.java
! src/share/classes/sun/awt/EventListenerAggregate.java
- src/share/classes/sun/awt/FocusingTextField.java
! src/share/classes/sun/awt/HeadlessToolkit.java
- src/share/classes/sun/awt/HorizBagLayout.java
! src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java
! src/share/classes/sun/awt/ModalityEvent.java
- src/share/classes/sun/awt/OrientableFlowLayout.java
! src/share/classes/sun/awt/PaintEventDispatcher.java
! src/share/classes/sun/awt/PeerEvent.java
! src/share/classes/sun/awt/SunDisplayChanger.java
! src/share/classes/sun/awt/SunGraphicsCallback.java
! src/share/classes/sun/awt/SunToolkit.java
! src/share/classes/sun/awt/UngrabEvent.java
- src/share/classes/sun/awt/VariableGridLayout.java
- src/share/classes/sun/awt/VerticalBagLayout.java

Changeset: 18925904efc2
Author:    alexsch
Date:      2011-12-12 15:33 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/18925904efc2

7105890: closed/javax/swing/JScrollBar/4708809/bug4708809.java deadlocks on MacOS
Reviewed-by: alexp

+ test/javax/swing/JScrollBar/4708809/bug4708809.java

Changeset: 44b26d6a55a6
Author:    alexsch
Date:      2011-12-13 15:32 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/44b26d6a55a6

7112931: closed/javax/swing/JTabbedPane/6416920/bug6416920.java fails on MacOS
Reviewed-by: alexp

+ test/javax/swing/JTabbedPane/6416920/bug6416920.java

Changeset: 70233f5e909c
Author:    alexsch
Date:      2011-12-13 17:30 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/70233f5e909c

7120869: javax/swing/JScrollBar/4708809/bug4708809.java fails on Windows
Summary: The robot auto-delay is increased to fix the test failing on Windows.
Reviewed-by: alexp

! test/javax/swing/JScrollBar/4708809/bug4708809.java

Changeset: 032a91abc540
Author:    alexsch
Date:      2011-12-13 18:38 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/032a91abc540

7116950: Reduce number of warnings in swing
Reviewed-by: art

! src/share/classes/com/sun/java/swing/Painter.java
! src/share/classes/java/beans/PropertyDescriptor.java
! src/share/classes/javax/swing/AbstractButton.java
! src/share/classes/javax/swing/ActionMap.java
! src/share/classes/javax/swing/ActionPropertyChangeListener.java
! src/share/classes/javax/swing/AncestorNotifier.java
! src/share/classes/javax/swing/ArrayTable.java
! src/share/classes/javax/swing/Box.java
! src/share/classes/javax/swing/BoxLayout.java
! src/share/classes/javax/swing/ButtonGroup.java
! src/share/classes/javax/swing/ComponentInputMap.java
! src/share/classes/javax/swing/InputMap.java
! src/share/classes/javax/swing/JButton.java
! src/share/classes/javax/swing/JComponent.java
! src/share/classes/javax/swing/JLabel.java
! src/share/classes/javax/swing/JLayeredPane.java
! src/share/classes/javax/swing/JMenu.java
! src/share/classes/javax/swing/JMenuBar.java
! src/share/classes/javax/swing/JMenuItem.java
! src/share/classes/javax/swing/JPopupMenu.java
! src/share/classes/javax/swing/JRootPane.java
! src/share/classes/javax/swing/JSeparator.java
! src/share/classes/javax/swing/JToolTip.java
! src/share/classes/javax/swing/JTree.java
! src/share/classes/javax/swing/JWindow.java
! src/share/classes/javax/swing/MenuSelectionManager.java
! src/share/classes/javax/swing/Popup.java
! src/share/classes/javax/swing/RepaintManager.java
! src/share/classes/javax/swing/Timer.java
! src/share/classes/javax/swing/border/AbstractBorder.java
! src/share/classes/javax/swing/border/CompoundBorder.java
! src/share/classes/javax/swing/border/EmptyBorder.java
! src/share/classes/javax/swing/border/MatteBorder.java
! src/share/classes/javax/swing/border/TitledBorder.java
! src/share/classes/javax/swing/event/AncestorEvent.java
! src/share/classes/javax/swing/event/ChangeEvent.java
! src/share/classes/javax/swing/event/EventListenerList.java
! src/share/classes/javax/swing/event/ListDataEvent.java
! src/share/classes/javax/swing/event/MenuDragMouseEvent.java
! src/share/classes/javax/swing/event/MenuEvent.java
! src/share/classes/javax/swing/event/MenuKeyEvent.java
! src/share/classes/javax/swing/event/PopupMenuEvent.java
! src/share/classes/javax/swing/plaf/ComponentUI.java
! src/share/classes/javax/swing/text/BadLocationException.java
! src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java

Changeset: 282b2ce90afe
Author:    lana
Date:      2011-12-16 12:12 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/282b2ce90afe

Merge

! src/share/classes/java/beans/PropertyDescriptor.java
- src/share/native/java/util/zip/zlib-1.2.3/ChangeLog
- src/share/native/java/util/zip/zlib-1.2.3/README
- src/share/native/java/util/zip/zlib-1.2.3/compress.c
- src/share/native/java/util/zip/zlib-1.2.3/crc32.h
- src/share/native/java/util/zip/zlib-1.2.3/deflate.c
- src/share/native/java/util/zip/zlib-1.2.3/deflate.h
- src/share/native/java/util/zip/zlib-1.2.3/gzio.c
- src/share/native/java/util/zip/zlib-1.2.3/infback.c
- src/share/native/java/util/zip/zlib-1.2.3/inffast.c
- src/share/native/java/util/zip/zlib-1.2.3/inffast.h
- src/share/native/java/util/zip/zlib-1.2.3/inffixed.h
- src/share/native/java/util/zip/zlib-1.2.3/inflate.c
- src/share/native/java/util/zip/zlib-1.2.3/inflate.h
- src/share/native/java/util/zip/zlib-1.2.3/inftrees.c
- src/share/native/java/util/zip/zlib-1.2.3/inftrees.h
- src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java
- src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff
- src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff
- src/share/native/java/util/zip/zlib-1.2.3/trees.c
- src/share/native/java/util/zip/zlib-1.2.3/trees.h
- src/share/native/java/util/zip/zlib-1.2.3/uncompr.c
- src/share/native/java/util/zip/zlib-1.2.3/zadler32.c
- src/share/native/java/util/zip/zlib-1.2.3/zconf.h
- src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c
- src/share/native/java/util/zip/zlib-1.2.3/zlib.h
- src/share/native/java/util/zip/zlib-1.2.3/zutil.c
- src/share/native/java/util/zip/zlib-1.2.3/zutil.h
- test/java/util/ResourceBundle/Control/ExpirationTest.java
- test/java/util/ResourceBundle/Control/ExpirationTest.sh

Changeset: 75bd7295c706
Author:    bagiras
Date:      2011-12-19 15:21 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/75bd7295c706

7117334: Warnings cleanup day: reduce number of javac warnings in the java.awt package
Reviewed-by: art, denis, alexsch

! src/share/classes/java/awt/AWTEvent.java
! src/share/classes/java/awt/AWTEventMulticaster.java
! src/share/classes/java/awt/Component.java
! src/share/classes/java/awt/Font.java
! src/share/classes/java/awt/Toolkit.java
! src/share/classes/java/awt/image/ColorModel.java

Changeset: d15f38f08ce9
Author:    denis
Date:      2011-12-19 16:44 +0400
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/d15f38f08ce9

7117011: Reduce number of warnings in sun/awt/windows and sun/awt/datatransfer
Reviewed-by: art

! src/share/classes/sun/awt/datatransfer/DataTransferer.java
! src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java
! src/solaris/classes/sun/awt/X11/XClipboard.java
! src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
! src/windows/classes/sun/awt/windows/WBufferStrategy.java
! src/windows/classes/sun/awt/windows/WChoicePeer.java
! src/windows/classes/sun/awt/windows/WClipboard.java
! src/windows/classes/sun/awt/windows/WComponentPeer.java
! src/windows/classes/sun/awt/windows/WDataTransferer.java
! src/windows/classes/sun/awt/windows/WDesktopProperties.java
! src/windows/classes/sun/awt/windows/WDialogPeer.java
! src/windows/classes/sun/awt/windows/WEmbeddedFrame.java
! src/windows/classes/sun/awt/windows/WFileDialogPeer.java
! src/windows/classes/sun/awt/windows/WFramePeer.java
! src/windows/classes/sun/awt/windows/WInputMethod.java
! src/windows/classes/sun/awt/windows/WMenuItemPeer.java
! src/windows/classes/sun/awt/windows/WPageDialog.java
! src/windows/classes/sun/awt/windows/WPageDialogPeer.java
! src/windows/classes/sun/awt/windows/WPrintDialog.java
! src/windows/classes/sun/awt/windows/WPrintDialogPeer.java
! src/windows/classes/sun/awt/windows/WToolkit.java
! src/windows/classes/sun/awt/windows/WWindowPeer.java

Changeset: cded2429cdbf
Author:    anthony
Date:      2011-12-20 12:48 +0300
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/cded2429cdbf

7122796: SunToolkit constructor should create the EventQueue for the Main AppContext
Summary: Always create an EQ for the main AppContext in SunToolkit constructor
Reviewed-by: art

! src/share/classes/sun/awt/AppContext.java
! src/share/classes/sun/awt/SunToolkit.java
+ test/java/awt/EventQueue/MainAppContext/MainAppContext.java

Changeset: 94d7051cca13
Author:    lana
Date:      2011-12-20 15:26 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/94d7051cca13

Merge

- src/share/classes/sun/awt/FocusingTextField.java
- src/share/classes/sun/awt/HorizBagLayout.java
- src/share/classes/sun/awt/OrientableFlowLayout.java
- src/share/classes/sun/awt/VariableGridLayout.java
- src/share/classes/sun/awt/VerticalBagLayout.java

Changeset: 4f0f9f9c4892
Author:    smarks
Date:      2011-12-07 12:12 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/4f0f9f9c4892

7117249: fix warnings in java.util.jar, .logging, .prefs, .zip
Reviewed-by: alanb, dholmes, forax, sherman, smarks
Contributed-by: Prasannaa <prasannaa_ss at yahoo.com>, Martijn Verburg <martijnverburg at gmail.com>, Goerge_Albrecht <goerge.albrecht at gmx.net>, Graham Allan <grundlefleck at googlemail.com>, Michael Barker <mikeb01 at gmail.com>

! src/share/classes/java/util/jar/JarFile.java
! src/share/classes/java/util/jar/Manifest.java
! src/share/classes/java/util/logging/LogManager.java
! src/share/classes/java/util/prefs/Preferences.java
! src/share/classes/java/util/prefs/XmlSupport.java
! src/share/classes/java/util/zip/ZipEntry.java

Changeset: f8897baf40ea
Author:    omajid
Date:      2011-12-08 13:48 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/f8897baf40ea

7117612: Miscellaneous warnings in java.lang
Reviewed-by: smarks, dholmes, alanb, darcy

! src/share/classes/java/lang/Boolean.java
! src/share/classes/java/lang/Byte.java
! src/share/classes/java/lang/Character.java
! src/share/classes/java/lang/CharacterName.java
! src/share/classes/java/lang/Class.java
! src/share/classes/java/lang/ClassLoader.java
! src/share/classes/java/lang/ConditionalSpecialCasing.java
! src/share/classes/java/lang/Double.java
! src/share/classes/java/lang/EnumConstantNotPresentException.java
! src/share/classes/java/lang/Float.java
! src/share/classes/java/lang/Integer.java
! src/share/classes/java/lang/Long.java
! src/share/classes/java/lang/Short.java
! src/share/classes/java/lang/System.java
! src/share/classes/java/lang/ThreadLocal.java
! src/share/classes/java/lang/Void.java
! src/solaris/classes/java/lang/ProcessEnvironment.java
! src/windows/classes/java/lang/ProcessEnvironment.java

Changeset: 9bb7c3b97384
Author:    smarks
Date:      2011-12-08 14:57 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/9bb7c3b97384

7118546: fix warnings in javax.xml.crypto, javax.script
Reviewed-by: mullan

! src/share/classes/javax/script/ScriptException.java
! src/share/classes/javax/xml/crypto/NodeSetData.java
! src/share/classes/javax/xml/crypto/dom/DOMCryptoContext.java
! src/share/classes/javax/xml/crypto/dsig/Manifest.java
! src/share/classes/javax/xml/crypto/dsig/Reference.java
! src/share/classes/javax/xml/crypto/dsig/SignatureProperties.java
! src/share/classes/javax/xml/crypto/dsig/SignatureProperty.java
! src/share/classes/javax/xml/crypto/dsig/SignedInfo.java
! src/share/classes/javax/xml/crypto/dsig/TransformService.java
! src/share/classes/javax/xml/crypto/dsig/XMLObject.java
! src/share/classes/javax/xml/crypto/dsig/XMLSignature.java
! src/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java
! src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfo.java
! src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java
! src/share/classes/javax/xml/crypto/dsig/keyinfo/PGPData.java
! src/share/classes/javax/xml/crypto/dsig/keyinfo/RetrievalMethod.java
! src/share/classes/javax/xml/crypto/dsig/keyinfo/X509Data.java
! src/share/classes/javax/xml/crypto/dsig/spec/ExcC14NParameterSpec.java
! src/share/classes/javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec.java
! src/share/classes/javax/xml/crypto/dsig/spec/XPathFilterParameterSpec.java
! src/share/classes/javax/xml/crypto/dsig/spec/XPathType.java

Changeset: 77d41c0e4ffc
Author:    jjh
Date:      2011-12-09 12:56 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/77d41c0e4ffc

7117053: Fix build warnings in com/sun/tools/jdi/*
Summary: Warnings fixed.  Also reviewed by serguei.spitsyn at oracle.com, who is not yet an openjdk reviewer
Reviewed-by: ksrini

! make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java
! make/tools/src/build/tools/jdwpgen/OutNode.java
! src/share/classes/com/sun/jdi/AbsentInformationException.java
! src/share/classes/com/sun/jdi/ClassNotLoadedException.java
! src/share/classes/com/sun/jdi/ClassNotPreparedException.java
! src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java
! src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java
! src/share/classes/com/sun/jdi/InternalException.java
! src/share/classes/com/sun/jdi/InvalidCodeIndexException.java
! src/share/classes/com/sun/jdi/InvalidLineNumberException.java
! src/share/classes/com/sun/jdi/InvalidStackFrameException.java
! src/share/classes/com/sun/jdi/InvalidTypeException.java
! src/share/classes/com/sun/jdi/InvocationException.java
! src/share/classes/com/sun/jdi/JDIPermission.java
! src/share/classes/com/sun/jdi/NativeMethodException.java
! src/share/classes/com/sun/jdi/ObjectCollectedException.java
! src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java
! src/share/classes/com/sun/jdi/VMDisconnectedException.java
! src/share/classes/com/sun/jdi/VMMismatchException.java
! src/share/classes/com/sun/jdi/VMOutOfMemoryException.java
! src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java
! src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java
! src/share/classes/com/sun/jdi/connect/VMStartException.java
! src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java
! src/share/classes/com/sun/jdi/request/DuplicateRequestException.java
! src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java
! src/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java
! src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java
! src/share/classes/com/sun/tools/jdi/BooleanValueImpl.java
! src/share/classes/com/sun/tools/jdi/CharValueImpl.java
! src/share/classes/com/sun/tools/jdi/ClassLoaderReferenceImpl.java
! src/share/classes/com/sun/tools/jdi/ClassTypeImpl.java
! src/share/classes/com/sun/tools/jdi/ConcreteMethodImpl.java
! src/share/classes/com/sun/tools/jdi/ConnectorImpl.java
! src/share/classes/com/sun/tools/jdi/DoubleValueImpl.java
! src/share/classes/com/sun/tools/jdi/EventRequestManagerImpl.java
! src/share/classes/com/sun/tools/jdi/EventSetImpl.java
! src/share/classes/com/sun/tools/jdi/FloatValueImpl.java
! src/share/classes/com/sun/tools/jdi/GenericAttachingConnector.java
! src/share/classes/com/sun/tools/jdi/IntegerValueImpl.java
! src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java
! src/share/classes/com/sun/tools/jdi/InternalEventHandler.java
! src/share/classes/com/sun/tools/jdi/JDWPException.java
- src/share/classes/com/sun/tools/jdi/LinkedHashMap.java
! src/share/classes/com/sun/tools/jdi/LongValueImpl.java
! src/share/classes/com/sun/tools/jdi/MethodImpl.java
! src/share/classes/com/sun/tools/jdi/MirrorImpl.java
! src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java
! src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java
! src/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java
! src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java
! src/share/classes/com/sun/tools/jdi/ShortValueImpl.java
! src/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java
! src/share/classes/com/sun/tools/jdi/TargetVM.java
! src/share/classes/com/sun/tools/jdi/ThreadAction.java
! src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java
! src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
! src/share/classes/com/sun/tools/jdi/VMAction.java
! src/share/classes/com/sun/tools/jdi/VMState.java
! src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java

Changeset: c508f38245f8
Author:    ngmr
Date:      2011-12-12 11:41 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/c508f38245f8

7118907: InetAddress.isReachable() should return false if sendto fails with EHOSTUNREACH
Reviewed-by: alanb, chegar
Contributed-by: Charles Lee <littlee at linux.vnet.ibm.com>

! src/solaris/native/java/net/Inet4AddressImpl.c
! src/solaris/native/java/net/Inet6AddressImpl.c

Changeset: 3216717f96f5
Author:    dl
Date:      2011-12-12 10:45 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/3216717f96f5

7118066: Warnings in java.util.concurrent package
Reviewed-by: chegar, dholmes

! src/share/classes/java/util/concurrent/ArrayBlockingQueue.java
! src/share/classes/java/util/concurrent/ConcurrentHashMap.java
! src/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java
! src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java
! src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java
! src/share/classes/java/util/concurrent/ConcurrentSkipListSet.java
! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java
! src/share/classes/java/util/concurrent/DelayQueue.java
! src/share/classes/java/util/concurrent/Exchanger.java
! src/share/classes/java/util/concurrent/ForkJoinPool.java
! src/share/classes/java/util/concurrent/ForkJoinTask.java
! src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java
! src/share/classes/java/util/concurrent/LinkedTransferQueue.java
! src/share/classes/java/util/concurrent/Phaser.java
! src/share/classes/java/util/concurrent/PriorityBlockingQueue.java
! src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java
! src/share/classes/java/util/concurrent/SynchronousQueue.java
! test/java/util/Collections/EmptyIterator.java

Changeset: d4f9d7e86a92
Author:    chegar
Date:      2011-12-12 03:54 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/d4f9d7e86a92

Merge


Changeset: 9c0a6185188f
Author:    ohair
Date:      2011-12-12 08:17 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/9c0a6185188f

7119829: Adjust default jprt testing configuration
Reviewed-by: alanb

! make/jprt.properties
! test/Makefile

Changeset: c647ebb3c4f7
Author:    naoto
Date:      2011-12-13 15:41 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/c647ebb3c4f7

4808233: "Locale" not thread-safe
Reviewed-by: okutsu

! src/share/classes/java/util/Locale.java

Changeset: e446c7d24d6c
Author:    lana
Date:      2011-12-15 19:52 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/e446c7d24d6c

Merge

- make/sun/motif12/reorder-i586
- make/sun/motif12/reorder-sparc
- make/sun/motif12/reorder-sparcv9
- src/solaris/classes/sun/awt/motif/AWTLockAccess.java
- src/solaris/classes/sun/awt/motif/MFontPeer.java
- src/solaris/classes/sun/awt/motif/MToolkit.java
- src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java
- src/solaris/classes/sun/awt/motif/MWindowAttributes.java
- src/solaris/classes/sun/awt/motif/X11FontMetrics.java
- src/solaris/native/sun/awt/MouseInfo.c
- src/solaris/native/sun/awt/XDrawingArea.c
- src/solaris/native/sun/awt/XDrawingArea.h
- src/solaris/native/sun/awt/XDrawingAreaP.h
- src/solaris/native/sun/awt/awt_Cursor.h
- src/solaris/native/sun/awt/awt_KeyboardFocusManager.h
- src/solaris/native/sun/awt/awt_MToolkit.c
- src/solaris/native/sun/awt/awt_MToolkit.h
- src/solaris/native/sun/awt/awt_MenuItem.h
- src/solaris/native/sun/awt/awt_PopupMenu.h
- src/solaris/native/sun/awt/awt_TopLevel.h
- src/solaris/native/sun/awt/awt_Window.h
- src/solaris/native/sun/awt/awt_mgrsel.c
- src/solaris/native/sun/awt/awt_mgrsel.h
- src/solaris/native/sun/awt/awt_motif.h
- src/solaris/native/sun/awt/awt_wm.c
- src/solaris/native/sun/awt/awt_wm.h
- src/solaris/native/sun/awt/awt_xembed.h
- src/solaris/native/sun/awt/awt_xembed_server.c
- src/solaris/native/sun/awt/awt_xembed_server.h

Changeset: 33ac7a057b9c
Author:    chegar
Date:      2011-12-16 16:09 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/33ac7a057b9c

7095980: Ensure HttpURLConnection (and supporting APIs) don't expose HttpOnly cookies
Reviewed-by: michaelm

! src/share/classes/java/net/HttpCookie.java
+ src/share/classes/sun/misc/JavaNetHttpCookieAccess.java
! src/share/classes/sun/misc/SharedSecrets.java
! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
+ test/sun/net/www/protocol/http/HttpOnly.java

Changeset: abbca81a98a7
Author:    smarks
Date:      2011-12-17 08:21 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/abbca81a98a7

7122235: stop the build if javac fails
Reviewed-by: chegar, dholmes, mcimadamore, ohair

! make/common/Rules.gmk

Changeset: 528eb0d43e3a
Author:    alanb
Date:      2011-12-17 20:07 +0000
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/528eb0d43e3a

7087549: (fs) Files.newInputStream throws UOE for custom provider options
Reviewed-by: alanb
Contributed-by: brandon.passanisi at oracle.com

! src/share/classes/java/nio/file/spi/FileSystemProvider.java
+ test/java/nio/file/Files/CustomOptions.java

Changeset: 5b27b978ed42
Author:    sherman
Date:      2011-12-19 14:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/5b27b978ed42

6990617: Regular expression doesn't match if unicode character next to a digit.
Summary: updated RemoveQEQuotation() to deal with this case correctly
Reviewed-by: sherman
Contributed-by: stephen.flores at oracle.com

! src/share/classes/java/util/regex/Pattern.java
! test/java/util/regex/RegExTest.java

Changeset: 570f3d893596
Author:    lana
Date:      2011-12-20 15:27 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/570f3d893596

Merge

- src/share/classes/com/sun/tools/jdi/LinkedHashMap.java

Changeset: 6f19ff39cff4
Author:    lana
Date:      2011-12-23 16:38 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/6f19ff39cff4

Merge

- src/share/classes/com/sun/tools/jdi/LinkedHashMap.java
- src/share/classes/sun/awt/FocusingTextField.java
- src/share/classes/sun/awt/HorizBagLayout.java
- src/share/classes/sun/awt/OrientableFlowLayout.java
- src/share/classes/sun/awt/VariableGridLayout.java
- src/share/classes/sun/awt/VerticalBagLayout.java


From lana.steuck at oracle.com  Mon Dec 26 13:48:09 2011
From: lana.steuck at oracle.com (lana.steuck at oracle.com)
Date: Mon, 26 Dec 2011 13:48:09 -0800 (PST)
Subject: jdk8-b19: JSN, Tools, Core Libraries, Serviceability, 2d, Awt,
	and Swing 
Message-ID: <201112262148.pBQLm9DP012187@jano-app.us.oracle.com>

http://hg.openjdk.java.net/jdk8/jdk8/rev/237bc29afbfc 
http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/77b2c066084c 
http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/6f19ff39cff4 
http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/b73b733214aa 
http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/dffeb62b1a7f 
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/7e075537835d 
http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/e1366c5d84ef 

---

All the fixes will be tested during promotion (no PIT testing at this point):
7117110 java build            Remove target 1.5 from jaxp and jaxws repo builds for mac
7119829 java build            Adjust default jprt testing configuration
7122235 java build            Build succeeds even if JDK source file fails to compile
7093865 java classes_awt      Win32TYMEDSelectionTest testcase not exiting correctly and c
7117008 java classes_awt      Warnings cleanup day: reduce number of javac warnings in the
7117011 java classes_awt      Reduce number of warnings in sun/awt/windows and sun/awt/dat
7117334 java classes_awt      Warnings cleanup day: reduce number of javac warnings in the
7122796 java classes_awt      SunToolkit constructor should create the EventQueue for the
7117612 java classes_lang     Miscellaneous warnings in java.lang
7095980 java classes_net      Ensure HttpURLConnection (and supporting APIs) don't expose
7118907 java classes_net      InetAddress.isReachable() should return false if sendto fail
7087549 java classes_nio      (fs) Files.newInputStream throws UOE for custom provider opt
7118546 java classes_security clean up warnings in javax.xml.crypto
7105890 java classes_swing    closed/javax/swing/JScrollBar/4708809/bug4708809.java deadlo
7112931 java classes_swing    closed/javax/swing/JTabbedPane/6416920/bug6416920.java fails
7116950 java classes_swing    Reduce number of warnings in swing
7120869 java classes_swing    javax/swing/JScrollBar/4708809/bug4708809.java fails on Wind
7117249 java classes_util     clean up warnings in java.util.jar, .logging, .prefs
7118066 java classes_util_con Warnings in java.util.concurrent package
4808233 java classes_util_i18 "Locale" not thread-safe
6990617 java classes_util_reg Regular expression doesn't match if unicode character next t
7111022 java compiler         javac no long prints last round of processing
7120463 java compiler         Fix method reference parser support in order to avoid ambigu
7120736 java compiler         refactor javac option handling
7121164 java compiler         renamed files not committed
7121323 java compiler         Sqe tests using -Xstdout option fail with an invalid flag er
7121681 java compiler         compiler message file broken for javac -fullversion
7121682 java compiler         remove obsolete import
7122342 java compiler         testPrintProcessorInfo/TestWithXstdout.java failed for JDK8
7117053 java debugger         Fix build warnings in com/sun/tools/jdi/*
7121961 java javadoctool      javadoc is missing a resource property
7116862 java other            Update JDK8 with Java DB 10.8.2.2
7046238 jets idl              new InitialContext(); hangs

From john.coomes at oracle.com  Tue Dec 27 20:49:23 2011
From: john.coomes at oracle.com (john.coomes at oracle.com)
Date: Wed, 28 Dec 2011 04:49:23 +0000
Subject: hg: jdk8/jdk8/hotspot: 16 new changesets
Message-ID: <20111228044958.B45CF477EC@hg.openjdk.java.net>

Changeset: 434acc838772
Author:    amurillo
Date:      2011-12-16 12:46 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/434acc838772

7122001: new hotspot build - hs23-b09
Reviewed-by: jcoomes

! make/hotspot_version

Changeset: 3c648b9ad052
Author:    stefank
Date:      2011-12-14 12:15 +0100
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/3c648b9ad052

7121373: Clean up CollectedHeap::is_in
Summary: Fixed G1CollectedHeap::is_in, added tests, cleaned up comments and made Space::is_in pure virtual.
Reviewed-by: brutisso, tonyp, jcoomes

! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp
! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
! src/share/vm/gc_interface/collectedHeap.cpp
! src/share/vm/gc_interface/collectedHeap.hpp
! src/share/vm/memory/genCollectedHeap.cpp
! src/share/vm/memory/genCollectedHeap.hpp
! src/share/vm/memory/generation.hpp
! src/share/vm/memory/space.cpp
! src/share/vm/memory/space.hpp
! src/share/vm/oops/arrayOop.cpp
! src/share/vm/oops/arrayOop.hpp
! src/share/vm/prims/jni.cpp
! src/share/vm/utilities/quickSort.cpp
! src/share/vm/utilities/quickSort.hpp

Changeset: fd2b426c30db
Author:    johnc
Date:      2011-12-14 17:43 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/fd2b426c30db

7119908: G1: Cache CSet start region for each worker for subsequent reuse
Summary: Cache workers' calculated starting heap region, used for parallel iteration over the collcection set, for subsequent reuse.
Reviewed-by: tonyp, brutisso

! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp

Changeset: 41406797186b
Author:    tonyp
Date:      2011-12-16 02:14 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/41406797186b

7113012: G1: rename not-fully-young GCs as "mixed"
Summary: Renamed partially-young GCs as mixed and fully-young GCs as young. Change all external output that includes those terms (GC log and GC ergo log) as well as any comments, fields, methods, etc. The changeset also includes very minor code tidying up (added some curly brackets).
Reviewed-by: johnc, brutisso

! 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/g1ErgoVerbose.cpp
! src/share/vm/gc_implementation/g1/g1ErgoVerbose.hpp
! src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp

Changeset: adedfbbf0360
Author:    johnc
Date:      2011-12-16 11:40 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/adedfbbf0360

7120038: G1: ParallelGCThreads==0 is broken
Summary: Running G1 with ParallelGCThreads==0 results in various crashes and asserts. Most of these are caused by unguarded references to the worker threads array or an incorrect number of active workers.
Reviewed-by: jmasa, tonyp

! src/share/vm/gc_implementation/g1/concurrentMark.cpp
! src/share/vm/gc_implementation/g1/concurrentMark.hpp
! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp

Changeset: e7dead7e90af
Author:    johnc
Date:      2011-12-19 10:02 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/e7dead7e90af

7117303: VM uses non-monotonic time source and complains that it is non-monotonic
Summary: Replaces calls to os::javaTimeMillis(), which does not (and cannot) guarantee monotonicity, in GC code to an equivalent expression that uses os::javaTimeNanos(). os::javaTimeNanos is guaranteed monotonically non-decreasing if the underlying platform provides a monotonic time source. Changes in OS files are to make use of the newly defined constants in globalDefinitions.hpp.
Reviewed-by: dholmes, ysr

! src/os/bsd/vm/os_bsd.cpp
! src/os/linux/vm/os_linux.cpp
! src/os/solaris/vm/os_solaris.cpp
! src/os/windows/vm/os_windows.cpp
! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp
! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
! src/share/vm/memory/genCollectedHeap.cpp
! src/share/vm/memory/generation.hpp
! src/share/vm/memory/referenceProcessor.cpp
! src/share/vm/utilities/globalDefinitions.hpp

Changeset: 129cd462ae89
Author:    jmasa
Date:      2011-12-20 12:27 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/129cd462ae89

Merge


Changeset: 96ce4c27112f
Author:    coleenp
Date:      2011-12-19 15:34 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/96ce4c27112f

7122939: TraceBytecodes broken with UseCompressedOops
Summary: Disable verify_heapbase on sparc if TraceBytecodes because the latter uses r12 as a temp register
Reviewed-by: coleenp, phh
Contributed-by: Volker Simonis <volker.simonis at gmail.com>

! src/cpu/x86/vm/assembler_x86.cpp

Changeset: 6c995c08526c
Author:    phh
Date:      2011-12-19 15:50 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/6c995c08526c

7122880: Extend vendor-specific command interface to include manageable switches
Summary: Add Flag::external_ext()/writable_ext(), both return false.
Reviewed-by: coleenp, zgu

! src/share/vm/runtime/globals.cpp
! src/share/vm/runtime/globals.hpp
! src/share/vm/runtime/globals_ext.hpp
! src/share/vm/services/management.cpp

Changeset: 4502fd5c7698
Author:    phh
Date:      2011-12-19 21:38 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/4502fd5c7698

Merge


Changeset: 11c26bfcf8c7
Author:    phh
Date:      2011-12-21 15:48 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/11c26bfcf8c7

7091417: recvfrom's 6th input should be of type socklen_t
Summary: Revamp class os's socket method formal args to match socket.h, insert casts in appropriate places, and copyin-copyout int*'s that s/b socklen_t*'s in jvm.cpp.
Reviewed-by: coleenp, dholmes
Contributed-by: erik.gahlin at oracle.com, rickard.backman at oracle.com, nils.loodin at oracle.com, markus.gronlund at oracle.com

! src/os/bsd/vm/jvm_bsd.h
! src/os/bsd/vm/os_bsd.inline.hpp
! src/os/linux/vm/jvm_linux.h
! src/os/linux/vm/os_linux.inline.hpp
! src/os/solaris/vm/jvm_solaris.h
! src/os/solaris/vm/os_solaris.cpp
! src/os/solaris/vm/os_solaris.inline.hpp
! src/os/windows/vm/jvm_windows.h
! src/os/windows/vm/os_windows.cpp
! src/share/vm/prims/jvm.cpp
! src/share/vm/runtime/os.hpp
! src/share/vm/utilities/ostream.cpp

Changeset: c01e115b095e
Author:    coleenp
Date:      2011-12-21 16:41 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/c01e115b095e

7064927: retransformClasses() does not pass in LocalVariableTable of a method
Summary: Handle LVT attribute in the class file reconstitutor.
Reviewed-by: phh, coleenp
Contributed-by: thomaswue <thomas.wuerthinger at oracle.com>

! src/share/vm/prims/jvmtiClassFileReconstituter.cpp
! src/share/vm/prims/jvmtiClassFileReconstituter.hpp

Changeset: d532160c55f7
Author:    coleenp
Date:      2011-12-21 18:22 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/d532160c55f7

Merge


Changeset: 4b18532913c7
Author:    vladidan
Date:      2011-12-22 12:01 -0500
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/4b18532913c7

Merge

! src/os/solaris/vm/os_solaris.cpp
! src/os/windows/vm/os_windows.cpp

Changeset: 4bcf61041217
Author:    amurillo
Date:      2011-12-23 15:24 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/4bcf61041217

Merge


Changeset: 9232e0ecbc2c
Author:    amurillo
Date:      2011-12-23 15:24 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/9232e0ecbc2c

Added tag hs23-b09 for changeset 4bcf61041217

! .hgtags


From John.Coomes at oracle.com  Tue Dec 27 21:03:41 2011
From: John.Coomes at oracle.com (John Coomes)
Date: Tue, 27 Dec 2011 21:03:41 -0800
Subject: jdk8-b19: HotSpot
Message-ID: <20218.41773.580128.703384@oracle.com>

hs23-b09 has been integrated into jdk8-b19.

http://hg.openjdk.java.net/jdk8/jdk8/rev/237bc29afbfc
http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/e1366c5d84ef
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/9232e0ecbc2c
http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/dffeb62b1a7f
http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/b73b733214aa
http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/6f19ff39cff4
http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/77b2c066084c

Component : VM
Status    : 0 major failures, 0 minor failures
Date      : 12/27/2011 at 09:49
Tested By : VM SQE & leonid.mesnik at oracle.com
Cost(total man-days): 1

Workspace : /net/prt-archiver.us.oracle.com/data/jprt/archive/2011/12/2011-12-23-233103.jcoomes.hs23-b09-snapshot
Bundles   : /net/prt-archiver.us.oracle.com/data/jprt/archive/2011/12/2011-12-23-233103.jcoomes.hs23-b09-snapshot
Platforms : 
Others

Tests     : /net/sqenfs-1.sfbay/export1/comp/vm/testbase/
Browsers  : NA
Patches   : NA
Logs      : http://sqeweb.us.oracle.com/nfs/results/vm/gtee/HSX/PIT/VM/hs23/b09/8/b19/2011-12-23/
Number of Tests Executed : 343556 product tests, 0 unit tests, 0 tck tests

Bug verification status:
======================================
 Tested, Pass: 
7122939: TraceBytecodes broken with UseCompressedOops

 Tested, Pass (partial fixes): 

 Tested, Fail: 

 Untested bug fixes:
    Setup is not available: 
7064927: retransformClasses() does not pass in LocalVariableTable of a method
7113012: G1: rename not-fully-young GCs as "mixed"
7117303: VM uses non-monotonic time source and complains that it is non-monotonic
7119908: G1: Cache CSet start region for each worker for subsequent reuse
7120038: G1: ParallelGCThreads==0 is broken
7122880: Extend vendor-specific command interface to include manageable switches
    Build change only: 
7091417: recvfrom's 6th input should be of type socklen_t
7121373: Clean up CollectedHeap::is_in
7122001: new hotspot build - hs23-b09

 New bugs filed:
    Bugs in PIT build: 

    Bugs in earlier promoted build: 

Number of PIT requested: 1
Integration target J2SE build number: 1.8.0-b19

Issues and Notes:
  This is PIT of HS23 b09 for JDK8 b19.
-------------------------------
>From VM SQE & leonid.mesnik at oracle.com

From david.katleman at sun.com  Wed Dec 28 15:52:58 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Wed, 28 Dec 2011 23:52:58 +0000
Subject: hg: jdk8/jdk8/jdk: 3 new changesets
Message-ID: <20111228235328.A52904781B@hg.openjdk.java.net>

Changeset: 60dd940eb58e
Author:    yhuang
Date:      2011-12-12 18:21 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/60dd940eb58e

7003124: In Bulgarian Locale DateFormat is wrong
Reviewed-by: naoto, peytoia

! src/share/classes/sun/text/resources/FormatData_bg.java
! test/sun/text/resources/LocaleData
! test/sun/text/resources/LocaleDataTest.java

Changeset: cd03cd0e0965
Author:    mfang
Date:      2011-12-15 11:29 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/cd03cd0e0965

Merge


Changeset: 3778f8577305
Author:    katleman
Date:      2011-12-28 15:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/3778f8577305

Merge



From david.katleman at sun.com  Thu Dec 29 18:39:07 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 30 Dec 2011 02:39:07 +0000
Subject: hg: jdk8/jdk8: Added tag jdk8-b19 for changeset 237bc29afbfc
Message-ID: <20111230023907.A80F64782D@hg.openjdk.java.net>

Changeset: 5a5eaf6374bc
Author:    katleman
Date:      2011-12-29 15:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/rev/5a5eaf6374bc

Added tag jdk8-b19 for changeset 237bc29afbfc

! .hgtags


From david.katleman at sun.com  Thu Dec 29 18:39:14 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 30 Dec 2011 02:39:14 +0000
Subject: hg: jdk8/jdk8/corba: Added tag jdk8-b19 for changeset e1366c5d84ef
Message-ID: <20111230023915.156844782E@hg.openjdk.java.net>

Changeset: 51d8b6cb18c0
Author:    katleman
Date:      2011-12-29 15:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/corba/rev/51d8b6cb18c0

Added tag jdk8-b19 for changeset e1366c5d84ef

! .hgtags


From david.katleman at sun.com  Thu Dec 29 18:40:02 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 30 Dec 2011 02:40:02 +0000
Subject: hg: jdk8/jdk8/hotspot: Added tag jdk8-b19 for changeset 9232e0ecbc2c
Message-ID: <20111230024004.3B90347830@hg.openjdk.java.net>

Changeset: fe2c87649981
Author:    katleman
Date:      2011-12-29 15:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/fe2c87649981

Added tag jdk8-b19 for changeset 9232e0ecbc2c

! .hgtags


From david.katleman at sun.com  Thu Dec 29 18:41:27 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 30 Dec 2011 02:41:27 +0000
Subject: hg: jdk8/jdk8/jaxp: Added tag jdk8-b19 for changeset dffeb62b1a7f
Message-ID: <20111230024127.C123A47831@hg.openjdk.java.net>

Changeset: f052abb8f374
Author:    katleman
Date:      2011-12-29 15:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxp/rev/f052abb8f374

Added tag jdk8-b19 for changeset dffeb62b1a7f

! .hgtags


From david.katleman at sun.com  Thu Dec 29 18:41:34 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 30 Dec 2011 02:41:34 +0000
Subject: hg: jdk8/jdk8/jaxws: Added tag jdk8-b19 for changeset b73b733214aa
Message-ID: <20111230024134.3029147832@hg.openjdk.java.net>

Changeset: 2b2818e3386f
Author:    katleman
Date:      2011-12-29 15:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jaxws/rev/2b2818e3386f

Added tag jdk8-b19 for changeset b73b733214aa

! .hgtags


From david.katleman at sun.com  Thu Dec 29 18:41:42 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 30 Dec 2011 02:41:42 +0000
Subject: hg: jdk8/jdk8/jdk: Added tag jdk8-b19 for changeset 3778f8577305
Message-ID: <20111230024152.7EE8C47833@hg.openjdk.java.net>

Changeset: 80350ee39fa8
Author:    katleman
Date:      2011-12-29 15:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/80350ee39fa8

Added tag jdk8-b19 for changeset 3778f8577305

! .hgtags


From david.katleman at sun.com  Thu Dec 29 18:42:58 2011
From: david.katleman at sun.com (david.katleman at sun.com)
Date: Fri, 30 Dec 2011 02:42:58 +0000
Subject: hg: jdk8/jdk8/langtools: Added tag jdk8-b19 for changeset 77b2c066084c
Message-ID: <20111230024300.DAEA147834@hg.openjdk.java.net>

Changeset: ffd294128a48
Author:    katleman
Date:      2011-12-29 15:14 -0800
URL:       http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/ffd294128a48

Added tag jdk8-b19 for changeset 77b2c066084c

! .hgtags