Do not emit the write barrier when storing to primitive volatile fields.

Change-Id: I79cdac62baa40582bba160a04cbd4c8b2c9151a5
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c
index f020e9c..465eade 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -2575,6 +2575,10 @@
         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 @@
         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;