diff options
| author | 2014-12-16 17:02:57 +0000 | |
|---|---|---|
| committer | 2014-12-19 09:58:27 +0000 | |
| commit | 52c489645b6e9ae33623f1ec24143cde5444906e (patch) | |
| tree | a39667aa354645bd42a7a061d08ca82df3004143 /compiler/dex/compiler_enums.h | |
| parent | 193c7a94822f765b0b6b0cecd54c9f08dfd26425 (diff) | |
[optimizing compiler] Add support for volatile
- for backends: arm, x86, x86_64
- added necessary instructions to assemblies
- clean up code gen for field set/get
- fixed InstructionDataEquals for some instructions
- fixed comments in compiler_enums
* 003-opcode test verifies basic volatile functionality
Change-Id: I144393efa312dfb2c332cb84056b00edffee338a
Diffstat (limited to 'compiler/dex/compiler_enums.h')
| -rw-r--r-- | compiler/dex/compiler_enums.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/dex/compiler_enums.h b/compiler/dex/compiler_enums.h index 7ff06a04cb..7edb490176 100644 --- a/compiler/dex/compiler_enums.h +++ b/compiler/dex/compiler_enums.h @@ -555,7 +555,7 @@ std::ostream& operator<<(std::ostream& os, const DividePattern& pattern); * The current recipe is as follows: * -# Use AnyStore ~= (LoadStore | StoreStore) ~= release barrier before volatile store. * -# Use AnyAny barrier after volatile store. (StoreLoad is as expensive.) - * -# Use LoadAny barrier ~= (LoadLoad | LoadStore) ~= acquire barrierafter each volatile load. + * -# Use LoadAny barrier ~= (LoadLoad | LoadStore) ~= acquire barrier after each volatile load. * -# Use StoreStore barrier after all stores but before return from any constructor whose * class has final fields. * -# Use NTStoreStore to order non-temporal stores with respect to all later |