[9] RFR(S): 8071312: compiler/arguments/CheckCompileThresholdScaling.java fails

David Chase david.r.chase at oracle.com
Thu Jan 22 16:15:10 UTC 2015


Some of the explanation below ought to appear in the code in the form of a comment, 
perhaps before this:

3484   if ((TieredCompilation && CompileThresholdScaling == 0)
3485       || (!TieredCompilation && (CompileThreshold == 0 || CompileThresholdScaling == 0.0))) {
3486     set_mode_flags(_int);
3487   }

And should the if above may be reorganized?  So maybe something like (assuming I read it correctly):

// CompileThresholdScaling == 0.0 is same as -Xint ; enable interpreter, but like -Xint, leave other thresholds unaffected.
// and if [ describe next condition in if ] use of interpreter is also implied.
if ( CompileThresholdScaling == 0.0 ||  ( !TieredCompilation && CompileThreshold == 0 ) ) {
  set_mode_flags(_int);
}

I think we should always err on the side of leaving too many breadcrumbs in our code, rather than too few.

David

On 2015-01-22, at 9:16 AM, Zoltán Majó <zoltan.majo at oracle.com> wrote:
> Solution:
> 
> This patch changes the way the VM handles CompileThresholdScaling==0.0.
> 
> By convention, CompileThresholdScaling==0.0 is equivalent to -Xint.
> 
> Before, CompileThresholdScaling==0 set the value of all compilation thresholds to 0 *silently*. This behavior is inconsistent with the logic of -Xint, which leaves the values of the compilation thresholds unaffected.
> 
> With this change, if CompileThresholdScaling==0, the -Xint flag is set but the value of compilation thresholds is left unchanged.
> 
> I changed compiler/arguments/CheckCompileThresholdScaling.java test to reflect this behavior. Added test case for CompileThresholdScaling == 0 with tiered compilation disabled.
> 
> 
> Webrev: http://cr.openjdk.java.net/~zmajo/8071312/webrev.00/
> 
> Testing: manual testing, JPRT (all standard JPRT tests + CheckCompileThresholdScaling)
> 
> Thank you and best regards,
> 
> 
> Zoltan
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20150122/252aa482/signature-0001.asc>


More information about the hotspot-compiler-dev mailing list