diff options
author | 2014-06-03 00:04:17 +0000 | |
---|---|---|
committer | 2014-06-03 00:04:17 +0000 | |
commit | 0f821c00aeca7b6fca789e5613a91aef786b45af (patch) | |
tree | 6d8690b32e48239a0a11127f8c5b42cf0591a554 /compiler/llvm | |
parent | 7a33c4b8260e2fafc9ca94e51334d4f18c8e4324 (diff) | |
parent | 03dbc04d1d5a3bd62801989b16e994a9ed0dafb5 (diff) |
Merge "Make class status volatile."
Diffstat (limited to 'compiler/llvm')
-rw-r--r-- | compiler/llvm/gbc_expander.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/llvm/gbc_expander.cc b/compiler/llvm/gbc_expander.cc index 25c9b20514..f8dca66de0 100644 --- a/compiler/llvm/gbc_expander.cc +++ b/compiler/llvm/gbc_expander.cc @@ -1868,6 +1868,10 @@ llvm::Value* GBCExpanderPass::EmitLoadStaticStorage(uint32_t dex_pc, phi->addIncoming(storage_object_addr, block_check_init); phi->addIncoming(loaded_storage_object_addr, block_after_load_static); + + // Ensure load of status and load of value don't re-order. + irb_.CreateMemoryBarrier(art::kLoadLoad); + return phi; } |