summaryrefslogtreecommitdiffstats
path: root/dexdump
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2010-06-17 12:36:00 -0700
committerAndy McFadden <fadden@android.com>2010-06-18 12:43:08 -0700
commitc35a2ef53d0cccd6f924eeba36633220ec67c32e (patch)
tree3dca5c629067edc9f6968d11b91621198de18387 /dexdump
parent54c91f8f33fc12d741aaa0dcdb375991e252c994 (diff)
downloadandroid_dalvik-c35a2ef53d0cccd6f924eeba36633220ec67c32e.tar.gz
android_dalvik-c35a2ef53d0cccd6f924eeba36633220ec67c32e.tar.bz2
android_dalvik-c35a2ef53d0cccd6f924eeba36633220ec67c32e.zip
Add opcodes for volatile field accesses
This adds instructions for {i,s}{get,put}{,-object}-volatile, for a total of eight new instructions. On SMP systems, these instructions will be substituted in for existing field access instructions, either by dexopt or during just-in-time verification. Unlike the wide-volatile instructions, these will not be used at all when the VM is not built for SMP. (Ideally we'd omit the volatile instruction implementations entirely on non-SMP builds, but that requires a little work in gen-mterp.py.) The change defines and implements the opcodes and support methods, but does not cause them to be used. Also, changed dvmQuasiAtomicRead64's argument to be const. Change-Id: I9e44fe881e87f27aa41f6c6e898ec4402cb5493e
Diffstat (limited to 'dexdump')
-rw-r--r--dexdump/OpCodeNames.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/dexdump/OpCodeNames.c b/dexdump/OpCodeNames.c
index e3155743d..1901f15ea 100644
--- a/dexdump/OpCodeNames.c
+++ b/dexdump/OpCodeNames.c
@@ -287,11 +287,11 @@ static const char* gOpNames[256] = {
"shl-int/lit8",
"shr-int/lit8",
"ushr-int/lit8",
- "UNUSED",
- "UNUSED",
- "UNUSED",
- "UNUSED",
- "UNUSED",
+ "+iget-volatile",
+ "+iput-volatile",
+ "+sget-volatile",
+ "+sput-volatile",
+ "+iget-object-volatile",
"+iget-wide-volatile",
"+iput-wide-volatile",
"+sget-wide-volatile",
@@ -314,9 +314,9 @@ static const char* gOpNames[256] = {
"+invoke-virtual-quick/range",
"+invoke-super-quick",
"+invoke-super-quick/range",
- "UNUSED",
- "UNUSED",
- "UNUSED",
+ "+iput-object-volatile",
+ "+sget-object-volatile",
+ "+sput-object-volatile",
"UNUSED",
};