<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hello<br>
<br>
<div class="moz-cite-prefix">On 03.10.2013 18:57, Jon Masamitsu
wrote:<br>
</div>
<blockquote cite="mid:524D85F5.6030507@oracle.com" type="cite">
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Evkempik/8016302/webrev.02/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp.udiff.html">http://cr.openjdk.java.net/~vkempik/8016302/webrev.02/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp.udiff.html</a><br>
<br>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<pre> for (int i = _n_threads - 1; i >= 0; i--) {
</pre>
Did you consider using "uint i" instead of "int i"? Maybe<br>
adding an assert<br>
<br>
assert(_n_threads > 0, ...)<br>
<br>
In order to avoid the cast<br>
<br>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<pre><span class="new">+ ConcurrentG1RefineThread* t = new ConcurrentG1RefineThread(this, next, worker_id_offset, (uint)i);
</span><span class="new"></span></pre>
</blockquote>
But then i >= 0 will always be true. The loop will look much
uglier if I transform it to check against MAX_UINT<br>
<br>
<blockquote cite="mid:524D85F5.6030507@oracle.com" type="cite">
<pre>
</pre>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Evkempik/8016302/webrev.02/src/share/vm/gc_implementation/g1/concurrentMark.cpp.udiff.html">http://cr.openjdk.java.net/~vkempik/8016302/webrev.02/src/share/vm/gc_implementation/g1/concurrentMark.cpp.udiff.html</a><br>
<br>
I used to seeing all parameters on the same line or each parameter<br>
on its own line. Instead of<br>
<br>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<pre><span class="new">+ G1NoteEndOfConcMarkClosure g1_note_end(_g1h, &local_cleanup_list,</span>
&old_proxy_set,
&humongous_proxy_set,
&hrrs_cleanup_task);
</pre>
this style.<br>
<br>
<pre><span class="new">+ G1NoteEndOfConcMarkClosure g1_note_end(_g1h,
&local_cleanup_list,</span>
&old_proxy_set,
&humongous_proxy_set,
&hrrs_cleanup_task);
</pre>
I know, not really your code originally but since you touched it,
I thought I<br>
would mention it.<br>
<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Evkempik/8016302/webrev.02/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp.udiff.html">http://cr.openjdk.java.net/~vkempik/8016302/webrev.02/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp.udiff.html</a><br>
<br>
</blockquote>
<br>
I will update webrev to include these changes.<br>
<br>
<br>
<blockquote cite="mid:524D85F5.6030507@oracle.com" type="cite"> Is
this cast necessary?<br>
<br>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<pre><span class="new">+ (uint) worker_i);
</span><span class="new"></span></pre>
</blockquote>
<br>
worker_i is defined as size_t in that function, it's almost same,
but not always (on every platform we have), and that code is
compiled with -WError, so I've decided to make it clear for
compiler and not produce any warnings.<br>
<br>
<blockquote cite="mid:524D85F5.6030507@oracle.com" type="cite">
<pre>
</pre>
Rest looks good.<br>
<br>
Jon<br>
<pre><span class="new"></span></pre>
<br>
<br>
<pre><span class="new"></span></pre>
<br>
<div class="moz-cite-prefix">On 10/3/13 3:32 AM, Vladimir Kempik
wrote:<br>
</div>
<blockquote cite="mid:524D47CA.4040708@oracle.com" type="cite">Hello
<br>
<br>
Can I have two reviewers to looks at it please ? <br>
<br>
Thanks, Vladimir. <br>
On 26.09.2013 11:41, Per Liden wrote: <br>
<blockquote type="cite">Looks good! <br>
<br>
cheers, <br>
/Per <br>
<br>
On 2013-09-25 12:47, Vladimir Kempik wrote: <br>
<blockquote type="cite">Hello <br>
<br>
Thanks for comments, updated webrev - <a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Evkempik/8016302/webrev.02/">http://cr.openjdk.java.net/~vkempik/8016302/webrev.02/</a>
<br>
<br>
<br>
On 24.09.2013 17:22, Thomas Schatzl wrote: <br>
<blockquote type="cite">Hi, <br>
<br>
On Thu, 2013-09-19 at 16:22 +0200, Vladimir Kempik wrote:
<br>
<blockquote type="cite">Hello <br>
<br>
Thanks for comments, here is updated webrev - <br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Evkempik/8016302/webrev.01/">http://cr.openjdk.java.net/~vkempik/8016302/webrev.01/</a>
<br>
<br>
</blockquote>
- the comments in DirtyCardQueueSet::mut_process_buffer()
should be <br>
adapted that we use uints now. They talk of worker_i of
-1. <br>
<br>
E.g. <br>
<br>
130 // If worker_i is not -1 then the thread has already
claimed <br>
131 // a par_id. We make note of it using the
already_claimed value <br>
<br>
- in G1GCPhaseTimes::print_stats() we need to use
UINT32_FORMAT instead <br>
of %d as the printf() specifier for uints. <br>
<br>
- same in ScanRSClosure::printCard(). <br>
<br>
Thanks, <br>
Thomas <br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>