aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/CodegenDriver.c
diff options
context:
space:
mode:
authorCarl Shapiro <cshapiro@google.com>2011-04-04 10:20:43 -0700
committerbuzbee <buzbee@google.com>2011-04-04 12:07:49 -0700
commit49f30642f0b808e29e06576278482bf4adfb5f77 (patch)
treed6e3d5988ad3c9000ef259a26be99655881afd88 /vm/compiler/codegen/arm/CodegenDriver.c
parent552cacb8aef667fec06196e6d33d2d81177a61fb (diff)
Do not emit the write barrier when storing to primitive volatile fields.
Change-Id: I79cdac62baa40582bba160a04cbd4c8b2c9151a5
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.c')
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c
index f020e9c63..465eade83 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -2575,6 +2575,10 @@ static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
case OP_IPUT_WIDE_JUMBO:
genIPutWide(cUnit, mir, fieldOffset);
break;
+ case OP_IPUT_VOLATILE:
+ case OP_IPUT_VOLATILE_JUMBO:
+ isVolatile = true;
+ // NOTE: intentional fallthrough
case OP_IPUT:
case OP_IPUT_JUMBO:
case OP_IPUT_BOOLEAN:
@@ -2587,8 +2591,6 @@ static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
case OP_IPUT_SHORT_JUMBO:
genIPut(cUnit, mir, kWord, fieldOffset, false, isVolatile);
break;
- case OP_IPUT_VOLATILE:
- case OP_IPUT_VOLATILE_JUMBO:
case OP_IPUT_OBJECT_VOLATILE:
case OP_IPUT_OBJECT_VOLATILE_JUMBO:
isVolatile = true;