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