RFR (S) 8153792: EA: assert(ptn->as_LocalVar()->edge_count() > 0) failed: sanity when compiling compareAndExchange

Aleksey Shipilev aleksey.shipilev at oracle.com
Thu May 12 09:45:02 UTC 2016


Thanks Paul and Vladimir!
I'll fix the indent before the push, pushing it now.

Thanks,
-Aleksey

On 05/12/2016 01:27 AM, Vladimir Kozlov wrote:
> The fix is good but fix indent:
> 
> +      if (opcode == Op_GetAndSetP || opcode == Op_GetAndSetN ||
> +          opcode == Op_CompareAndExchangeN || opcode ==
> Op_CompareAndExchangeP) {
> 
> Thanks,
> Vladimir
> 
> On 5/11/16 3:16 PM, Aleksey Shipilev wrote:
>> Hi,
>>
>> Please review the bugfix for the EA assert failure when compiling new
>> compareAndExchange intrinsics:
>>    https://bugs.openjdk.java.net/browse/JDK-8153792
>>
>> The bug is caused by the initial VarHandles change in the EA, and is
>> actually a simple overlook: Op_CompareAndExchange* were added at the
>> same switch case as Op_GetAndSet* (since they are similar), but the
>> condition within the case itself was not changed. So, EA misses an edge
>> from the load, and complains.
>>
>> Easy fix:
>>    http://cr.openjdk.java.net/~shade/8153792/webrev.01/
>>
>> Testing: local Linux x86/fastdebug and failing test; RBT (hs-comp-tier0)
>>
>> Thanks,
>> -Aleksey
>>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160512/27ca5b78/signature-0001.asc>


More information about the hotspot-compiler-dev mailing list