[9] RFR (XS): 8153340: Incorrect lower bound for AllocatePrefetchDistance with AllocatePrefetchStyle=3
Zoltán Majó
zoltan.majo at oracle.com
Wed Apr 27 14:23:06 UTC 2016
On 04/27/2016 04:20 PM, Zoltán Majó wrote:
> [...]
>
> OK. I think it is sufficient to do
>
> 52 if (!has_blk_init()) {
> 53 if (AllocatePrefetchInstr == 1) {
> 54 warning("BIS instructions required for AllocatePrefetchInstr 1
> unavailable");
> 55 FLAG_SET_DEFAULT(AllocatePrefetchInstr, 0);
> 56 } I hope I'm not missing anything here. Here is the updated webrev:
> http://cr.openjdk.java.net/~zmajo/8153340/webrev.02/ Testing: - JPRT
> (incl. TestOptionsWithRanges); - local testing on SPARC; - all hotspot
> tests with AllocaPrefetchStyle=2 on all platforms. Thank you! Best
> regards, Zoltan
Sorry for the missing newlines above -- my mail client is playing tricks
sometimes.
>
>>
>> Thanks,
>> Vladimir
>>
>>>
>>> Testing:
>>> - JPRT (incl. TestOptionsWithRanges)
>>> - local testing on a SPARC machine.
>>>
>>> Thank you!
>>>
>>> Best regards,
>>>
>>>
>>> Zoltan
>>>
>>>
>>>>
>>>> Thanks,
>>>> Vladimir
>>>>
>>>> On 4/21/16 4:30 AM, Zoltán Majó wrote:
>>>>> Hi,
>>>>>
>>>>>
>>>>> please review the patch for 8153340.
>>>>>
>>>>> https://bugs.openjdk.java.net/browse/JDK-8153340
>>>>>
>>>>>
>>>>> Problem: The VM crashes if AllocatePrefetchStyle==3 and
>>>>> AllocatePrefetchDistance==0. The crash happens due to the way
>>>>> the address for the first prefetch instruction is calculated [1]:
>>>>>
>>>>> If distance==0, cache_addr == old_eden_top. Then, cache_adr &=
>>>>> ~(AllocatePrefetchStepSize - 1) which can zero some of
>>>>> the bits of cache_adr. That result in accesses *before* the newly
>>>>> allocated object.
>>>>>
>>>>>
>>>>> Solution: Set lower limit of AllocatePrefetchDistance to
>>>>> AllocatePrefetchStepSize (for AllocatePrefetchStyle == 3).
>>>>> Unquarantine test.
>>>>>
>>>>> Webrev:
>>>>> http://cr.openjdk.java.net/~zmajo/8153340/webrev.00/
>>>>>
>>>>> Testing:
>>>>> - JPRT (incl. TestOptionsWithRanges.java)
>>>>> - local testing on a SPARC machine.
>>>>>
>>>>> Thank you!
>>>>>
>>>>> Best regards,
>>>>>
>>>>>
>>>>> Zoltan
>>>>>
>>>>> [1]
>>>>> http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/file/f27c00e6f6bf/src/share/vm/opto/macro.cpp#l1941
>>>
>
More information about the hotspot-compiler-dev
mailing list