<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Sangheon,</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Thanks, well spotted. I did what Thomas suggested: allow the diff to be 0 and make sure r is 0.0 when that happens.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">FYA: I tried to cause the issue by setting min_capacity == max_capacity and I couldn’t. Note the start of that method: the calculation only takes place when min_capacity <= capacity <= max_capacity. So, if min_capacity == max_capacity, both have to be == capacity for the calculation to happen which will cause the div-by-0. :-)</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Anyway, thanks again for bringing this up,</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Tony</div> <br><p class="airmail_on" style="color:#000;">On July 1, 2015 at 8:03:32 PM, sangheon.kim (<a href="mailto:sangheon.kim@oracle.com">sangheon.kim@oracle.com</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div bgcolor="#FFFFFF" text="#000000"><div></div><div>




<title></title>


<font face="sans-serif">Hi Tony,<br>
<br>
I just looked the calculation routine and if we set
'DynamicParGCStridesMinOldGenCapacity =
DynamicParGCStridesMaxOldGenCapacity', division by zero would
happen.<br>
So if I understand correctly, the constraint of 'max' should be
always greater than 'min', isn't it?<br>
<br>
<a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~tonyp/8086056/webrev.2/src/share/vm/gc/cms/parNewGeneration.cpp.frames.html">
http://cr.openjdk.java.net/~tonyp/8086056/webrev.2/src/share/vm/gc/cms/parNewGeneration.cpp.frames.html</a><br>

<br>
 885   const size_t min_old_gen_capacity =
DynamicParGCStridesMinOldGenCapacity;<br>
 886   const size_t max_old_gen_capacity =
DynamicParGCStridesMaxOldGenCapacity;<br>
<br>
 902     const size_t capacity_diff =
max_old_gen_capacity - min_old_gen_capacity;<br>
 903     const size_t capacity_offset =
capacity - min_old_gen_capacity;<br>
 904     const double r = (double)
capacity_offset / (double) <b>capacity_diff</b><b>;</b><br>
<br>
Thanks,<br>
Sangheon</font><br>
<br>
<br>
<div class="moz-cite-prefix">On 07/01/2015 03:05 PM, Tony Printezis
wrote:<br></div>
<blockquote cite="mid:etPan.55946411.211dea1b.289@tw-mbp-tprintezis" type="cite">
<div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
Latest changes, as discussed with Bengt and Thomas,</div>
<div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
<br></div>
<div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
<a moz-do-not-send="true" href="http://cr.openjdk.java.net/%7Etonyp/8086056/webrev.2/">http://cr.openjdk.java.net/~tonyp/8086056/webrev.2/</a></div>
<div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
<br></div>
<div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
Tony</div>
<br>
<p class="airmail_on" style="color:#000;">On June 26, 2015 at
9:37:45 AM, Thomas Schatzl (<a moz-do-not-send="true" href="mailto:thomas.schatzl@oracle.com">thomas.schatzl@oracle.com</a>)
wrote:</p>
<blockquote type="cite" class="clean_bq">
<div>
<div><span>Hi Tony,<br>
<br>
On Fri, 2015-06-26 at 09:30 -0400, Tony Printezis wrote:<br>
<br>
[...]<br>
> ><br>
> ><br>
> > The JEP says:<br>
> ><br>
> > "The range and constraints checks are done every time a
flag<br>
> > changes, as well as late in the JVM initialization
routine (i.e., in<br>
> > init_globals() after stubRoutines_init2()) at the time
when all<br>
> > flags have their final values set. We will continue to
check the<br>
> > manageable flags as long as the JVM runs."<br>
> ><br>
> > I haven't actively been using this myself, but I assume
that the<br>
> > constraints will be checked every time a managaeble flag
is changed<br>
> > and that the one trying to change it will get an error
reported back<br>
> > if they try to change it in an invalid way.<br>
> ><br>
> > I'm copying Gerard on this email. He has built this
support and can<br>
> > surely answer the details.<br>
><br>
> Hi, thanks. I’ll definitely look at it and change the
code<br>
> appropriately. BTW, has the change been integrated into the hs
gc repo<br>
> yet? (I don’t see it so I assume it hasn't.)<br>
<br>
You overlooked that a week or two ago we started to try out merging
the<br>
hs-rt and hs-gc repos to test whether doing so is beneficial in
terms of<br>
maintenance etc.<br>
<br>
So the hs-gc repo is currently discontinued. Please rebase your
changes<br>
to hs-rt. :)<br>
<br>
[...]<br>
> ><br>
> > Finally, just a heads up. I will be on vacation for the
coming three<br>
> > weeks. I doubt that I will be able to review any new
version during<br>
> > that time. If you get reviews from others I'm perfectly
fine with<br>
> > this being pushed. Depending on how different the changes
that you<br>
> > push are compared to the versions I've reviewed I'll
leave it up to<br>
> > you to decide whether you want to list me as a reviewer
or not. I'm<br>
> > fine either way. It's not a problem to leave me out of
the reviewer<br>
> > list if you are unsure.<br>
><br>
> OK, thanks for letting me know! And enjoy your time
off!!!!<br>
<br>
I will take over :)<br>
<br>
Thanks,<br>
Thomas<br>
<br>
<br>
<br></span></div>
</div>
</blockquote>
<div id="bloop_sign_1435788218700278016" class="bloop_sign">
<div style="font-family:helvetica,arial;font-size:13px">
<div>-----</div>
<div><br></div>
<div>Tony Printezis | JVM/GC Engineer / VM Team | Twitter</div>
<div><br></div>
<div>@TonyPrintezis</div>
<div><a moz-do-not-send="true" href="mailto:tprintezis@twitter.com">tprintezis@twitter.com</a></div>
<div><br></div>
</div>
</div>
</blockquote>
<br>


</div></div></span></blockquote> <div id="bloop_sign_1435864554499022080" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px"><div>-----</div><div><br></div><div>Tony Printezis | JVM/GC Engineer / VM Team | Twitter</div><div><br></div><div>@TonyPrintezis</div><div><a href="mailto:tprintezis@twitter.com">tprintezis@twitter.com</a></div><div><br></div></div></div></body></html>