aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/CodegenDriver.c
diff options
context:
space:
mode:
authorBill Buzbee <buzbee@google.com>2010-03-15 17:19:12 -0700
committerBill Buzbee <buzbee@google.com>2010-03-15 17:19:12 -0700
commitb16344ab4e75f83368b977c46c9126bbc8d72570 (patch)
tree6e18155549b7f7bb0e3ac8a3cbbc4740d53ff955 /vm/compiler/codegen/arm/CodegenDriver.c
parent861b33855aff080278ea5125e4372a2d4bf8aef5 (diff)
Jit: Handle new VOLATILE Dalvik ops by not handling them.
See [Issue 1633591] Volatile long/double accesses should be atomic. Because we believe this to be a rare case, the Jit will just punt to the interpreter for these. Change-Id: Idd05b5acae9aa5ffa60941cba8533534a89c0ff8
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.c')
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c
index 8104ef236..1e0a1d892 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -2246,6 +2246,12 @@ static bool handleFmt22c(CompilationUnit *cUnit, MIR *mir)
case OP_IPUT_BOOLEAN:
genIPut(cUnit, mir, kUnsignedByte, fieldOffset);
break;
+ case OP_IGET_WIDE_VOLATILE:
+ case OP_IPUT_WIDE_VOLATILE:
+ case OP_SGET_WIDE_VOLATILE:
+ case OP_SPUT_WIDE_VOLATILE:
+ genInterpSingleStep(cUnit, mir);
+ break;
default:
return true;
}