From 52c489645b6e9ae33623f1ec24143cde5444906e Mon Sep 17 00:00:00 2001 From: Calin Juravle Date: Tue, 16 Dec 2014 17:02:57 +0000 Subject: [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 --- compiler/dex/compiler_enums.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compiler/dex/compiler_enums.h') 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 -- cgit v1.2.3-59-g8ed1b