[9] RFR(XXS): 8036091: compiler/membars/DekkerTest.java fails with -XX:CICompilerCount=1

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Mar 3 12:31:46 PST 2014


You need to add -XX:-TieredCompilation to test's commands. I forgot it 
when I added the test. Removing -XX:CICompilerCount=1 is wrong because 
sequence of C2 compilations will affect the reproduction of the problem. 
CICompilerCount=1 serializes compilations and makes compilation sequence 
more deterministic. Even with -Xbatch tests which execute several 
threads the compilation is not deterministic because compilation 
requests from different java threads will be served by different 
compiler threads.

CICompilerCount, by definition and by the code we used in Tiered, is 
total number of compilers threads, C1+C2. You can't interpret it 
differently for =1 case.

Albert, make sure to allow CICompilerCount=1 with Tiered compilation 
when only C1 is used (TieredStopAtLevel < 4).


On 3/3/14 4:49 AM, Aleksey Shipilev wrote:
> Thanks Albert!
> -Aleksey.
> P.S. Serves me right for not paying attention to the original issue
> thinking it only covers the negative values.
> On 03/03/2014 04:47 PM, Albert wrote:
>> Hi Aleksey,
>> Vladimir K. reviewed JDK-8034775, let's see what he thinks. If we decide
>> to go for the clean
>> solution, I could make it work.
>> Best,
>> Albert
>> On 03/03/2014 01:42 PM, Aleksey Shipilev wrote:
>>> On 03/03/2014 04:25 PM, Albert wrote:
>>>> For me the only clean solution that *enforces* and *retains* the
>>>> meaning of the flag is to enable a compiler thread to grab tasks from
>>>> both queues (or have a shared queue). Maybe someone can tell why it
>>>> is implemented as it is?
>>> I agree, this seems to be only good solution for
>>> not-that-familiar-with-HS-tiered-arch guy like me.
>>> -Aleksey.

More information about the hotspot-compiler-dev mailing list