summaryrefslogtreecommitdiff
path: root/compiler/dex/quick/gen_common.cc
diff options
context:
space:
mode:
author Ian Rogers <irogers@google.com> 2014-06-03 00:04:17 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2014-06-03 00:04:17 +0000
commit0f821c00aeca7b6fca789e5613a91aef786b45af (patch)
tree6d8690b32e48239a0a11127f8c5b42cf0591a554 /compiler/dex/quick/gen_common.cc
parent7a33c4b8260e2fafc9ca94e51334d4f18c8e4324 (diff)
parent03dbc04d1d5a3bd62801989b16e994a9ed0dafb5 (diff)
Merge "Make class status volatile."
Diffstat (limited to 'compiler/dex/quick/gen_common.cc')
-rw-r--r--compiler/dex/quick/gen_common.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/dex/quick/gen_common.cc b/compiler/dex/quick/gen_common.cc
index 4f2a87672a..03edf2ac39 100644
--- a/compiler/dex/quick/gen_common.cc
+++ b/compiler/dex/quick/gen_common.cc
@@ -603,6 +603,8 @@ void Mir2Lir::GenSput(MIR* mir, RegLocation rl_src, bool is_long_or_double,
field_info.StorageIndex(), r_base));
FreeTemp(r_tmp);
+ // Ensure load of status and load of value don't re-order.
+ GenMemBarrier(kLoadLoad);
}
FreeTemp(r_method);
}
@@ -694,6 +696,8 @@ void Mir2Lir::GenSget(MIR* mir, RegLocation rl_dest,
field_info.StorageIndex(), r_base));
FreeTemp(r_tmp);
+ // Ensure load of status and load of value don't re-order.
+ GenMemBarrier(kLoadLoad);
}
FreeTemp(r_method);
}