[9] RFR (M): 8086053: Address inconsistencies regarding ZeroTLAB

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Jan 12 17:00:33 UTC 2016


Looks good. The test may still have a problem on slow platforms with -Xcomp. We may need to increase timeout later.

Thanks,
Vladimir

On 1/12/16 12:00 AM, Zoltán Majó wrote:
> Hi Vladimir,
>
>
> On 01/11/2016 08:26 PM, Vladimir Kozlov wrote:
>> Don't use GC flags in the test. They will conflict with flags passed by testing infra and the test will fail. The was
>> bug fixed by removing GC flags from all our tests.
>> Note, Nightly testing does GC flags rotation so you don't need to do that.
>
> OK, I removed all GC flags from the test. Here is the updated webrev:
> http://cr.openjdk.java.net/~zmajo/8086053/webrev.03/
>
>> Otherwise looks good.
>
> Thank you for the review! I'll push webrev.03 today as it addresses all issues that were brought up.
>
> Thank you and best regards,
>
>
> Zoltan
>
>>
>> Thanks,
>> Vladimir
>>
>> On 1/11/16 5:37 AM, Zoltán Majó wrote:
>>> Hi,
>>>
>>>
>>>
>>> On 01/11/2016 02:11 PM, Zoltán Majó wrote:
>>>> [...]
>>>> Yes, that is a good idea. I added a test that launches the VM with all flag combinations and also with different GCs.
>>>> I did the same what the test does to reproduce the original failure.
>>>>
>>>> Here is the updated webrev:
>>>> http://cr.openjdk.java.net/~zmajo/8086053/webrev.01/
>>>
>>> The test contains and unnecessary @library tag and package import. The year in the copyright statement must be changed
>>> as well (to 2016).
>>>
>>> Here is the webrev with those changes:
>>> http://cr.openjdk.java.net/~zmajo/8086053/webrev.02/
>>>
>>> Sorry for the noise.
>>>
>>> Thank you and best regards,
>>>
>>>
>>> Zoltan
>>>
>>>
>>>>
>>>> The newly added test passes on all supported platforms.
>>>>
>>>> Thank you and best regards,
>>>>
>>>>
>>>> Zoltan
>>>>
>>>>>
>>>>> Best,
>>>>> Tobias
>>>>>
>>>>>
>>>>> On 08.01.2016 12:06, Zoltán Majó wrote:
>>>>>> Hi,
>>>>>>
>>>>>>
>>>>>> please review the patch for 8086053.
>>>>>>
>>>>>> https://bugs.openjdk.java.net/browse/JDK-8086053
>>>>>>
>>>>>> Problem: With ZeroTLAB enabled, the GC is supposed to zero-fill newly allocated TLAB regions. With ZeroTLAB
>>>>>> disabled, the interpreter and compiled code should assume the responsibility to zero-fill newly allocated regions.
>>>>>> Currently, the handling of the ZeroTLAB flag shows some inconsistencies between the GC and the compilers. These
>>>>>> inconsistencies lead to newly allocated regions not being filled with zeros.
>>>>>>
>>>>>> Solution: Address the following:
>>>>>> - With -XX:+FastTLABRefill, C1-compiled code refills the TLAB without notifying the GC. As a result, the newly
>>>>>> allocated TLAB is not initialized with zero. Add TLAB initialization code to C1.
>>>>>> - With -XX:+ZeroTLAB, the C2 compiler skips zero-initialization of newly allocated objects/arrays even if TLAB
>>>>>> allocation is disabled. Add stricter conditions to C2 on when to skip filling objects/arrays with zero.
>>>>>>
>>>>>> Webrev:
>>>>>> http://cr.openjdk.java.net/~zmajo/8086053/webrev.00/
>>>>>>
>>>>>> Testing:
>>>>>> - local testing (linux_x86_64) of failing test case with -XX:+UseG1GC and -XX:+UseSerialGC;
>>>>>> - JPRT;
>>>>>> - all hotspot tests on all platforms affected by the change using all combinations of +/-UseTLAB and +/-ZeroTLAB.
>>>>>>
>>>>>> Thank you and best regards,
>>>>>>
>>>>>>
>>>>>> Zoltan
>>>>>>
>>>>
>>>
>


More information about the hotspot-compiler-dev mailing list