RFR(XXS): 8036091: compiler/membars/DekkerTest.java fails with -XX:CICompilerCount=1
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
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!
> 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.
>> 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.
More information about the hotspot-compiler-dev