RFR(S): 8152169: LockCompilationTest.java fails due method present in the compiler queue

Christian Thalinger christian.thalinger at oracle.com
Mon Mar 21 17:19:33 UTC 2016


> On Mar 19, 2016, at 1:31 AM, Nils Eliasson <nils.eliasson at oracle.com> wrote:
> 
> 
> 
> On 2016-03-18 23:15, Christian Thalinger wrote:
>> 
>>> On Mar 18, 2016, at 10:34 AM, Nils Eliasson < <mailto:nils.eliasson at oracle.com>nils.eliasson at oracle.com <mailto:nils.eliasson at oracle.com>> wrote:
>>> 
>>> 
>>> 
>>> On 2016-03-18 18:30, Christian Thalinger wrote:
>>>> 
>>>>> On Mar 18, 2016, at 5:02 AM, Nils Eliasson <nils.eliasson at oracle.com <mailto:nils.eliasson at oracle.com>> wrote:
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> Please review this test fix.
>>>>> 
>>>>> Summary:
>>>>> This test tests the locking of the compilers - make sure no compiles can be completed while the lock is in place. When running with -XX:-TieredCompilation and -XX:CompileThreshold=100 we got a fairly long queue of compiles waiting, and when only C2 is available it can take longer to complete than the test wait time.
>>>>> 
>>>>> Solution:
>>>>> Only allow compile of the test method - make sure we have no contention on the compile queue. With only a single method in the queue we can also reduce the wait time.
>>>>> 
>>>>> Testing:
>>>>> Test run in failing configuration.
>>>>> 
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8152169 <https://bugs.openjdk.java.net/browse/JDK-8152169>
>>>>> Webrev: http://cr.openjdk.java.net/~neliasso/8152169/webrev.01/ <http://cr.openjdk.java.net/%7Eneliasso/8152169/webrev.01/>
>>>> 
>>>> +             // Sleep a while and then make sure the compile is still waiting
>>>> +             try {
>>>> +                 Thread.sleep(5000);
>>>> +             } catch (Exception e) {
>>>> +                 System.out.println("Thread sleep interrupted");
>>>> +             }
>>>> Should we propagate this exception instead of just issuing a warning on stdout?
>>> 
>>> Sure, that's better. There are no thread that can interrupt it at the moment, but better safe than sorry.
>>> 
>>> Webrev: http://cr.openjdk.java.net/~neliasso/8152169/webrev.02/ <http://cr.openjdk.java.net/%7Eneliasso/8152169/webrev.02/>
>> 
>> I was thinking making the method "throws Exception”.  Would be simpler.  main already does:
>>       public static void main(String[] args) throws Exception {
> 
> Sure,
> 
> http://cr.openjdk.java.net/~neliasso/8152169/webrev.03 <http://cr.openjdk.java.net/~neliasso/8152169/webrev.03>

Looks good.

> 
> //Nils
>>> 
>>> Regards,
>>> Nils
>>>> 
>>>>> 
>>>>> Regards,
>>>>> Nils
>>>> 
>>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160321/88c6a450/attachment-0001.html>


More information about the hotspot-compiler-dev mailing list