diff options
| author | Carl Shapiro <cshapiro@google.com> | 2011-04-04 10:20:43 -0700 |
|---|---|---|
| committer | buzbee <buzbee@google.com> | 2011-04-04 12:07:49 -0700 |
| commit | 49f30642f0b808e29e06576278482bf4adfb5f77 (patch) | |
| tree | d6e3d5988ad3c9000ef259a26be99655881afd88 /vm/compiler/codegen/arm/CodegenDriver.c | |
| parent | 552cacb8aef667fec06196e6d33d2d81177a61fb (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.c | 6 |
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; |
