RFR(S/M): 8150646: Add support for blocking compiles through whitebox API

Nils Eliasson nils.eliasson at oracle.com
Fri Feb 26 08:36:59 UTC 2016


Hi Vladimir,

WhiteBox::compilation_locked is a global state that temporarily stops 
all compilations. I this case I just want to achieve blocking 
compilation for a single compile without affecting the rest of the 
system. The tests using it will continue executing as soon as that 
compile is finished, saving time where wait-loops is used today. It adds 
nice determinism to tests.

Best regards,
Nils Eliasson

On 2016-02-25 22:14, Vladimir Kozlov wrote:
> You are adding parameter which is used only for testing.
> Can we have callback(or check field) into WB instead? Similar to 
> WhiteBox::compilation_locked.
>
> Thanks,
> Vladimir
>
> On 2/25/16 7:01 AM, Nils Eliasson wrote:
>> Hi,
>>
>> Please review this change that adds support for blocking compiles in the
>> whitebox API. This enables simpler less time consuming tests.
>>
>> Motivation:
>> * -XX:-BackgroundCompilation is a global flag and can be time consuming
>> * Blocking compiles removes the need for waiting on the compile queue to
>> complete
>> * Compiles put in the queue may be evicted if the queue grows to big -
>> causing indeterminism in the test
>> * Less VM-flags allows for more tests in the same VM
>>
>> Testing:
>> Posting a separate RFR for test fix that uses this change. They will be
>> pushed at the same time.
>>
>> RFE: https://bugs.openjdk.java.net/browse/JDK-8150646
>> JDK rev: http://cr.openjdk.java.net/~neliasso/8150646/webrev_jdk.01/
>> Hotspot rev: http://cr.openjdk.java.net/~neliasso/8150646/webrev.02/
>>
>> Best regards,
>> Nils Eliasson



More information about the hotspot-compiler-dev mailing list