--- old/src/share/vm/opto/escape.cpp 2016-05-12 00:51:43.033620618 +0300 +++ new/src/share/vm/opto/escape.cpp 2016-05-12 00:51:42.981620821 +0300 @@ -721,7 +721,8 @@ break; } #endif - if (opcode == Op_GetAndSetP || opcode == Op_GetAndSetN) { + if (opcode == Op_GetAndSetP || opcode == Op_GetAndSetN || + opcode == Op_CompareAndExchangeN || opcode == Op_CompareAndExchangeP) { add_local_var_and_edge(n, PointsToNode::NoEscape, adr, NULL); } if (adr_type->isa_oopptr() ||