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

Zoltán Majó zoltan.majo at oracle.com
Mon Jan 11 13:10:42 UTC 2016


Thank you, Vladimir, for the review!

Best regards,


Zoltan

On 01/08/2016 09:46 PM, Vladimir Kozlov wrote:
> Looks good to me.
>
> Thanks,
> Vladimir
>
> On 1/8/16 3:06 AM, 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