Reviewers: ulan, jochen, rmcilroy,

Description:
A64: Fix and improve atomic operations.

* The 'compare and swap' operations should enforce memory ordering even when
  the exchange does not occur.

* The exclusive monitor does not need to be cleared by CLREX if a LDRX was
  not followed by a matching STREX.

* Use LDAR and STLR where possible.

* Use the 'Q' constraint where possible. This Aarch64 constraint indicates
"a memory address which uses a single base register with no offset". It allows
  us to remove 'memory' from the clobber list.

* Use the 'I' and 'J' constraints to hint for constants valid for immediate
  values.

* Avoid code duplication.

Please review this at https://codereview.chromium.org/220793002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+53, -102 lines):
  M src/atomicops_internals_arm64_gcc.h


--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to