src/hotspot/share/opto/loopTransform.cpp
changeset 52925 9c18c9d839d3
parent 52608 61241fc2217a
child 53063 b04860fd2e2c
--- a/src/hotspot/share/opto/loopTransform.cpp	Mon Dec 10 17:34:49 2018 +0300
+++ b/src/hotspot/share/opto/loopTransform.cpp	Mon Dec 10 15:47:44 2018 +0100
@@ -2795,7 +2795,13 @@
              (bol->in(1)->Opcode() == Op_CompareAndSwapI ) ||
              (bol->in(1)->Opcode() == Op_CompareAndSwapL ) ||
              (bol->in(1)->Opcode() == Op_CompareAndSwapP ) ||
-             (bol->in(1)->Opcode() == Op_CompareAndSwapN )))
+             (bol->in(1)->Opcode() == Op_CompareAndSwapN ) ||
+             (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeP ) ||
+             (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeN ) ||
+             (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapP ) ||
+             (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapN ) ||
+             (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapP ) ||
+             (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapN )))
           return;               // Allocation loops RARELY take backedge
         // Find the OTHER exit path from the IF
         Node* ex = iff->proj_out(1-test_con);