Mercurial > hg > graal-compiler
changeset 1024:2c03ce058f55
6888847: TaskQueue needs release_store() for correctness on RMO machines
Summary: See title.
Reviewed-by: jmasa, ysr, jcoomes, iveresov, tonyp
author | bobv |
---|---|
date | Wed, 07 Oct 2009 09:48:42 -0400 |
parents | 11d4857fe5e1 |
children | 1ee412f7fec9 |
files | src/share/vm/utilities/taskqueue.hpp |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/utilities/taskqueue.hpp Wed Oct 07 10:09:57 2009 -0400 +++ b/src/share/vm/utilities/taskqueue.hpp Wed Oct 07 09:48:42 2009 -0400 @@ -207,7 +207,7 @@ // Actually means 0, so do the push. uint localBot = _bottom; _elems[localBot] = t; - _bottom = increment_index(localBot); + OrderAccess::release_store(&_bottom, increment_index(localBot)); return true; } return false; @@ -485,7 +485,7 @@ assert((dirty_n_elems >= 0) && (dirty_n_elems < N), "n_elems out of range."); if (dirty_n_elems < max_elems()) { _elems[localBot] = t; - _bottom = increment_index(localBot); + OrderAccess::release_store(&_bottom, increment_index(localBot)); return true; } else { return push_slow(t, dirty_n_elems);