<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Sangheon,<br>
<br>
I agree that we don't want to expose <span class="new">CardTableModRefBS::_last_valid_index<br>
but I'd consider making </span><span class="new"><span
class="new">CardTableModRefBS::</span>cards_required() public.<br>
That would remove the need to duplicate the calculation and it
seems<br>
a reasonable question to ask the card table implementation how
many<br>
cards it is going to require. I'll let other disagree if they
like.<br>
<br>
Add in the message a little more about why the value is too large.<br>
<br>
</span><br>
<pre><span class="new"> 396 CommandLineError::print(verbose,</span>
<span class="new"> 397 "ParGCCardsPerStrideChunk (" INTX_FORMAT ")
<font color="#ff0000"> "is too large for the heap size and "</font>
"must be "</span>
<span class="new"> 398 "less than or equal to card table size (" SIZE_FORMAT ")\n",</span>
<span class="new"> 399 value, card_table_size);
</span></pre>
<pre><span class="new">I think a little more information here would help future maintainers so</span>
<span class="new">instead of </span>
<span class="new"></span></pre>
<span class="new"></span>
<pre><span class="new">403 // If n_strides which is used with ParGCCardsPerStrideChunk is really large, we would face an overflow.</span></pre>
<span class="new"><br>
This statement can overflow?<br>
</span><br>
<pre><span class="new"> 404 uintx n_strides = ParallelGCThreads * ParGCStridesPerThread;</span></pre>
<span class="new"><br>
Jon<br>
<br>
</span>
<div class="moz-cite-prefix">On 3/28/2016 3:50 PM, sangheon wrote:<br>
</div>
<blockquote cite="mid:56F9B548.3000504@oracle.com" type="cite">Hi
all,
<br>
<br>
Could I have some reviews for this change?
<br>
<br>
As very large value of ParGCCardsPerStrideChunk flag would result
in an overflow, we need a constraint function after memory
initialization. And the function will check the flag to be less
than of equal to the size of card table and not to make an
overflow with other stride factors(ParallelGCThreads and
ParGCStridesPerThread).
<br>
<br>
CR: <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8152176">https://bugs.openjdk.java.net/browse/JDK-8152176</a>
<br>
Webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~sangheki/8152176/webrev.00">http://cr.openjdk.java.net/~sangheki/8152176/webrev.00</a>
<br>
Testing: JPRT, all runtime/commandline JTREG tests on all
platforms
<br>
<br>
Thanks,
<br>
Sangheon
<br>
<br>
</blockquote>
<br>
</body>
</html>