Mercurial > hg > truffle
diff src/share/vm/c1/c1_LIRAssembler.cpp @ 6795:7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
author | roland |
---|---|
date | Thu, 20 Sep 2012 16:49:17 +0200 |
parents | da91efe96a93 |
children | e522a00b91aa f98f5d48f511 |
line wrap: on
line diff
--- a/src/share/vm/c1/c1_LIRAssembler.cpp Wed Sep 19 16:50:26 2012 -0700 +++ b/src/share/vm/c1/c1_LIRAssembler.cpp Thu Sep 20 16:49:17 2012 +0200 @@ -773,6 +773,11 @@ throw_op(op->in_opr1(), op->in_opr2(), op->info()); break; + case lir_xadd: + case lir_xchg: + atomic_op(op->code(), op->in_opr1(), op->in_opr2(), op->result_opr(), op->tmp1_opr()); + break; + default: Unimplemented(); break;