<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;">Gerard,</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;">Meant to say thanks for the explanation. The range and constraint features were easy to use.</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 10:26:51 AM, Gerard Ziemski (<a href="mailto:gerard.ziemski@oracle.com">gerard.ziemski@oracle.com</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>hi guys,
<br>
<br>On 6/26/2015 8:30 AM, Tony Printezis wrote:
<br>>
<br>> The JEP says:
<br>>
<br>> "The range and constraints checks are done every time a flag changes,  
<br>> as well as late in the JVM initialization routine (i.e., in  
<br>> init_globals() after stubRoutines_init2()) at the time when all flags  
<br>> have their final values set. We will continue to check the manageable  
<br>> 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>The JEP required that in the case of manageable flags, when an attempt  
<br>is made to change value of a flag from outside the Java process, that an  
<br>error message be printed in the outside process and the value be left  
<br>unchanaged.
<br>
<br>If the Java process itself tries to make such change, however, then the  
<br>error message is printed in the process itself and the VM exits.
<br>
<br>There is a window of time, however, during the initialization process,  
<br>when flags are being still set, so during that time the range/constraint  
<br>check is disabled, but changes after Arguments::apply_ergo() are fatal  
<br>to the VM if check fails.
<br>
<br>
<br>cheers
<br></div></div></span></blockquote> <div id="bloop_sign_1435787966290330880" 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>