<p dir="ltr">Hi Bengt,</p>
<p dir="ltr">Looks good. Do you need the constants for int/double/size_t? Would it be easier to have a static getter that returns "(T)-1" and then use that instead?</p>
<p dir="ltr">Thanks</p>
<p dir="ltr">Sent from my phone</p>
<div class="gmail_quote">On Jan 14, 2013 4:08 PM, "Bengt Rutisson" <<a href="mailto:bengt.rutisson@oracle.com">bengt.rutisson@oracle.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<br>
Hi all,<br>
<br>
Could I have a couple of reviews for this small change?<br>
<a href="http://cr.openjdk.java.net/~brutisso/8006242/webrev.00/" target="_blank">http://cr.openjdk.java.net/~brutisso/8006242/webrev.00/</a><br>
<br>
Thanks to John Cuthbertson for finding this bug and providing
excellent data to track down the issue.<br>
<br>
From the bug report:<br>
<br>
In non-product builds the WorkerDataArrays in G1 are initialized to
-1 in WorkerDataArray<T>::reset() when a GC starts. At the end
of a GC WorkerDataArray<T>::verify() verifies that all entries
in a WorkerDataArray has been set. Currently it does this by
asserting that the entries are >= 0. This is fine in theory since
the entries should contain counts or times that are all positive.<br>
<br>
The problem is that some WorkerDataArrays are of type double. And
some of those are set up through calculations using doubles. If
those calculations result in a value close to 0 we could end up with
a value slightly less than 0 since double calculations don't have
full precision.<br>
<br>
All we really want to verify is that all the entries were set. So,
it should be enough to verify that entries do not contain the value
set by the reset() method. <br>
<br>
Bengt<br>
</div>
</blockquote></div>