summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2012-01-04 15:38:58 -0800
committerElliott Hughes <enh@google.com>2012-01-05 10:47:28 -0800
commitab35b50311951feea3782151dd5422ee944685c2 (patch)
tree5f4743612c5c3d1ac48a90e90e39361d40acf7f1 /docs
parentd04ce3821fb7db99685c653b25397e3ca51e5cfd (diff)
downloadandroid_dalvik-ab35b50311951feea3782151dd5422ee944685c2.tar.gz
android_dalvik-ab35b50311951feea3782151dd5422ee944685c2.tar.bz2
android_dalvik-ab35b50311951feea3782151dd5422ee944685c2.zip
Remove unsupported experimental opcodes.
External developers were starting to try to get themselves into trouble with this stuff... Change-Id: I2b03bfeaa8c98b6a994bc7924fc8dcf4e4d4f6cb
Diffstat (limited to 'docs')
-rw-r--r--docs/dalvik-bytecode.html166
-rw-r--r--docs/instruction-formats.html56
2 files changed, 2 insertions, 220 deletions
diff --git a/docs/dalvik-bytecode.html b/docs/dalvik-bytecode.html
index d4c0a775d..66c9c4881 100644
--- a/docs/dalvik-bytecode.html
+++ b/docs/dalvik-bytecode.html
@@ -975,175 +975,11 @@
</td>
</tr>
<tr>
- <td>e3..fe 10x</td>
+ <td>e3..ff 10x</td>
<td><i>(unused)</i></td>
<td>&nbsp;</td>
<td><i>(unused)</i></td>
</tr>
-<tr>
- <td>ff -</td>
- <td><i>(expanded opcode)</i></td>
- <td>&nbsp;</td>
- <td>An <code>ff</code> in the primary opcode position indicates that there
- is a secondary opcode in the high-order byte of the opcode code unit,
- as opposed to an argument value. These expanded opcodes are detailed
- immediately below.
- </td>
-</tr>
-<tr>
- <td>00ff 41c</td>
- <td>const-class/jumbo vAAAA, type@BBBBBBBB</td>
- <td>
- <code>A:</code> destination register (16 bits)<br/>
- <code>B:</code> type index (32 bits)
- </td>
- <td>Move a reference to the class specified by the given index into the
- specified register. See <code>const-class</code> description above
- for details, caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>01ff 41c</td>
- <td>check-cast/jumbo vAAAA, type@BBBBBBBB</td>
- <td>
- <code>A:</code> reference-bearing register (16 bits)<br/>
- <code>B:</code> type index (32 bits)
- </td>
- <td>Throw a <code>ClassCastException</code> if the reference in the
- given register cannot be cast to the indicated type. See
- <code>check-cast</code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>02ff 52c</td>
- <td>instance-of/jumbo vAAAA, vBBBB, type@CCCCCCCC</td>
- <td>
- <code>A:</code> destination register (16 bits)<br/>
- <code>B:</code> reference-bearing register (16 bits)<br/>
- <code>C:</code> type index (32 bits)
- </td>
- <td>Store in the given destination register <code>1</code>
- if the indicated reference is an instance of the given type,
- or <code>0</code> if not. See
- <code>instance-of</code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>03ff 41c</td>
- <td>new-instance/jumbo vAAAA, type@BBBBBBBB</td>
- <td>
- <code>A:</code> destination register (16 bits)<br/>
- <code>B:</code> type index (32 bits)
- </td>
- <td>Construct a new instance of the indicated type. See
- <code>new-instance</code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>04ff 52c</td>
- <td>new-array/jumbo vAAAA, vBBBB, type@CCCCCCCC</td>
- <td>
- <code>A:</code> destination register (16 bits)<br/>
- <code>B:</code> size register (16 bits)<br/>
- <code>C:</code> type index (32 bits)
- </td>
- <td>Construct a new array of the indicated type and size. See
- <code>new-array</code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>05ff 5rc</td>
- <td>filled-new-array/jumbo {vCCCC .. vNNNN}, type@BBBBBBBB</td>
- <td>
- <code>A:</code> array size and argument word count (16 bits)<br/>
- <code>B:</code> type index (32 bits)<br/>
- <code>C:</code> first argument register (16 bits)<br/>
- <code>N = A + C - 1</code>
- </td>
- <td>Construct an array of the given type and size, filling it with the
- supplied contents. See first
- <code>filled-new-array</code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>06ff..13ff 52c</td>
- <td>i<i>instanceop</i>/jumbo vAAAA, vBBBB, field@CCCCCCCC<br/>
- 06ff: iget/jumbo<br/>
- 07ff: iget-wide/jumbo<br/>
- 08ff: iget-object/jumbo<br/>
- 09ff: iget-boolean/jumbo<br/>
- 0aff: iget-byte/jumbo<br/>
- 0bff: iget-char/jumbo<br/>
- 0cff: iget-short/jumbo<br/>
- 0dff: iput/jumbo<br/>
- 0eff: iput-wide/jumbo<br/>
- 0fff: iput-object/jumbo<br/>
- 10ff: iput-boolean/jumbo<br/>
- 11ff: iput-byte/jumbo<br/>
- 12ff: iput-char/jumbo<br/>
- 13ff: iput-short/jumbo
- </td>
- <td>
- <code>A:</code> value register or pair; may be source or dest (16 bits)<br/>
- <code>B:</code> object register (16 bits)<br/>
- <code>C:</code> instance field reference index (32 bits)
- </td>
- <td>Perform the identified object instance field operation. See
- <code>i<i>instanceop</i></code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>14ff..21ff 41c</td>
- <td>s<i>staticop</i>/jumbo vAAAA, field@BBBBBBBB<br/>
- 14ff: sget/jumbo<br/>
- 15ff: sget-wide/jumbo<br/>
- 16ff: sget-object/jumbo<br/>
- 17ff: sget-boolean/jumbo<br/>
- 18ff: sget-byte/jumbo<br/>
- 19ff: sget-char/jumbo<br/>
- 1aff: sget-short/jumbo<br/>
- 1bff: sput/jumbo<br/>
- 1cff: sput-wide/jumbo<br/>
- 1dff: sput-object/jumbo<br/>
- 1eff: sput-boolean/jumbo<br/>
- 1fff: sput-byte/jumbo<br/>
- 20ff: sput-char/jumbo<br/>
- 21ff: sput-short/jumbo
- </td>
- <td>
- <code>A:</code> value register or pair; may be source or dest (16 bits)<br/>
- <code>B:</code> instance field reference index (32 bits)
- </td>
- <td>Perform the identified object static field operation. See
- <code>s<i>staticop</i></code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>22ff..26ff 5rc</td>
- <td>invoke-<i>kind</i>/jumbo {vCCCC .. vNNNN}, meth@BBBBBBBB<br/>
- 22ff: invoke-virtual/jumbo<br/>
- 23ff: invoke-super/jumbo<br/>
- 24ff: invoke-direct/jumbo<br/>
- 25ff: invoke-static/jumbo<br/>
- 26ff: invoke-interface/jumbo
- </td>
- <td>
- <code>A:</code> argument word count (16 bits)<br/>
- <code>B:</code> method reference index (32 bits)<br/>
- <code>C:</code> first argument register (16 bits)<br/>
- <code>N = A + C - 1</code>
- </td>
- <td>Call the indicated method. See first <code>invoke-<i>kind</i></code>
- description above for details, caveats, and suggestions.
- </td>
-</tr>
</tbody>
</table>
diff --git a/docs/instruction-formats.html b/docs/instruction-formats.html
index ada1bb26c..f320a2d13 100644
--- a/docs/instruction-formats.html
+++ b/docs/instruction-formats.html
@@ -28,8 +28,7 @@ represents four bits, read from high bits to low, with vertical bars
in sequence from "<code>A</code>" are used to indicate fields within
the format (which then get defined further by the syntax column). The term
"<code>op</code>" is used to indicate the position of an eight-bit
-opcode within the format, and similarly "<code>exop</code>" is used
-to indicate an extended sixteen-bit opcode. A slashed zero
+opcode within the format. A slashed zero
("<code>&Oslash;</code>") is used to indicate that all bits must be
zero in the indicated position.</p>
@@ -455,59 +454,6 @@ the correspondence.</p>
<td><i><code>op</code></i> vAA, #+BBBBBBBBBBBBBBBB</td>
<td>const-wide</td>
</tr>
-<tr>
- <td rowspan="2"><i>exop</i> BB|AA CCCC</td>
- <td>33x</td>
- <td><i><code>exop</code></i> vAA, vBB, vCCCC</td>
- <td>&nbsp;</td>
-</tr>
-<tr>
- <td>32s</td>
- <td><i><code>exop</code></i> vAA, vBB, #+CCCC</td>
- <td>&nbsp;</td>
-</tr>
-<tr>
- <td><i>exop</i> BBBB<sub>lo</sub> BBBB<sub>hi</sub> AAAA</td></td>
- <td>40sc</td>
- <td><i><code>exop</code></i> AAAA, kind@BBBBBBBB</td>
- <td><i>suggested format for statically determined verification errors;
- see <code>20bc</code>, above</i></td>
-</tr>
-<tr>
- <td><i>exop</i> BBBB<sub>lo</sub> BBBB<sub>hi</sub> AAAA
- <td>41c</td>
- <td><i><code>exop</code></i> vAAAA, field@BBBBBBBB<br/>
- <i><code>exop</code></i> vAAAA, type@BBBBBBBB
- <p><i>The unusual choice in lettering here reflects a desire to make
- the letters match their use in related formats 21c and 31c.</i></p>
- </td>
- <td>&nbsp;</td>
-</tr>
-<tr>
- <td><i>exop</i> CCCC<sub>lo</sub> CCCC<sub>hi</sub>
- AAAA BBBB</td>
- <td>52c</td>
- <td><i><code>exop</code></i> vAAAA, vBBBB, field@CCCCCCCC<br/>
- <i><code>exop</code></i> vAAAA, vBBBB, type@CCCCCCCC
- <p><i>The unusual choice in lettering here reflects a desire to make
- the letters match their use in related formats 22c and 22cs.</i></p>
- </td>
- <td>&nbsp;</td>
-</tr>
-<tr>
- <td><i>exop</i> BBBB<sub>lo</sub> BBBB<sub>hi</sub>
- AAAA CCCC</td>
- <td>5rc</td>
- <td><i><code>exop</code></i> {vCCCC .. vNNNN}, meth@BBBBBBBB<br/>
- <i><code>exop</code></i> {vCCCC .. vNNNN}, type@BBBBBBBB<br/>
- <p><i>where <code>NNNN = CCCC+AAAA-1</code>, that is <code>A</code>
- determines the count <code>0..65535</code>, and <code>C</code>
- determines the first register</i></p>
- <p><i>The unusual choice in lettering here reflects a desire to make
- the letters match their use in related formats 3rc, 3rms, and 3rmi.</i></p>
- </td>
- <td>&nbsp;</td>
-</tr>
</tbody>
</table>