diff options
author | Andy McFadden <fadden@android.com> | 2011-03-10 14:12:48 -0800 |
---|---|---|
committer | Andy McFadden <fadden@android.com> | 2011-03-10 16:02:48 -0800 |
commit | 24bd4c50bb3ea13be4f049710967961f0546fb2c (patch) | |
tree | 6e472f5a7dfb1a54da3cb667c6777ec870988295 /opcode-gen | |
parent | af06c40f24a00e0662899405d24b2813cc0690a4 (diff) | |
download | android_dalvik-24bd4c50bb3ea13be4f049710967961f0546fb2c.tar.gz android_dalvik-24bd4c50bb3ea13be4f049710967961f0546fb2c.tar.bz2 android_dalvik-24bd4c50bb3ea13be4f049710967961f0546fb2c.zip |
Add volatile/jumbo opcodes
This adds 12 dexopt-generated "volatile/jumbo" instructions, to
be used for replacing appropriate get/put ops, plus a jumbo
replacement for invoke-object-init/range.
The new instructions are defined but not yet used. For x86 and
x86-atom, C stubs are selected.
Also, guarded macro args used in arithmetic expressions in header.S.
Bug 3403118
Change-Id: I283cea053d1cee1d70c3715df3e71177e8b8d3b2
Diffstat (limited to 'opcode-gen')
-rw-r--r-- | opcode-gen/bytecode.txt | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/opcode-gen/bytecode.txt b/opcode-gen/bytecode.txt index 6fd57dbdb..7f6921433 100644 --- a/opcode-gen/bytecode.txt +++ b/opcode-gen/bytecode.txt @@ -393,10 +393,25 @@ op 24ff invoke-direct/jumbo 5rc n method-ref continue|throw|invoke op 25ff invoke-static/jumbo 5rc n method-ref continue|throw|invoke op 26ff invoke-interface/jumbo 5rc n method-ref continue|throw|invoke -# unused: op 27ff..feff +# unused: op 27ff..f1ff # # Optimized opcodes (not valid in an unoptimized dex file) # -op ffff ^throw-verification-error/jumbo 40sc n varies optimized|throw +# See notes above invoke-object-init re: no "throw" or "invoke" +op f2ff +invoke-object-init/jumbo 5rc n method-ref optimized|continue + +op f3ff +iget-volatile/jumbo 52c y field-ref optimized|continue|throw +op f4ff +iget-wide-volatile/jumbo 52c y field-ref optimized|continue|throw +op f5ff +iget-object-volatile/jumbo 52c y field-ref optimized|continue|throw +op f6ff +iput-volatile/jumbo 52c n field-ref optimized|continue|throw +op f7ff +iput-wide-volatile/jumbo 52c n field-ref optimized|continue|throw +op f8ff +iput-object-volatile/jumbo 52c n field-ref optimized|continue|throw +op f9ff +sget-volatile/jumbo 41c y field-ref optimized|continue|throw +op faff +sget-wide-volatile/jumbo 41c y field-ref optimized|continue|throw +op fbff +sget-object-volatile/jumbo 41c y field-ref optimized|continue|throw +op fcff +sput-volatile/jumbo 41c n field-ref optimized|continue|throw +op fdff +sput-wide-volatile/jumbo 41c n field-ref optimized|continue|throw +op feff +sput-object-volatile/jumbo 41c n field-ref optimized|continue|throw +op ffff ^throw-verification-error/jumbo 40sc n varies optimized|throw |