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

Nils Eliasson nils.eliasson at oracle.com
Mon Mar 21 20:10:54 UTC 2016


Thanks Chris,
//Nils

On 2016-03-21 18:19, Christian Thalinger wrote:
>
>> On Mar 19, 2016, at 1:31 AM, Nils Eliasson <nils.eliasson at oracle.com 
>> <mailto: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 
>>>> <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> 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
>>>>>> 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/%7Eneliasso/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/1ecbea6f/attachment.html>


More information about the hotspot-compiler-dev mailing list