diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:28:47 -0800 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:28:47 -0800 |
| commit | f6c387128427e121477c1b32ad35cdcaa5101ba3 (patch) | |
| tree | 2aa25fa8c8c3a9caeecf98fd8ac4cd9b12717997 /docs/opcodes/opcode-1b-const-class.html | |
| parent | f72d5de56a522ac3be03873bdde26f23a5eeeb3c (diff) | |
| download | android_dalvik-f6c387128427e121477c1b32ad35cdcaa5101ba3.tar.gz android_dalvik-f6c387128427e121477c1b32ad35cdcaa5101ba3.tar.bz2 android_dalvik-f6c387128427e121477c1b32ad35cdcaa5101ba3.zip | |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'docs/opcodes/opcode-1b-const-class.html')
| -rw-r--r-- | docs/opcodes/opcode-1b-const-class.html | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/docs/opcodes/opcode-1b-const-class.html b/docs/opcodes/opcode-1b-const-class.html new file mode 100644 index 000000000..7a33e771b --- /dev/null +++ b/docs/opcodes/opcode-1b-const-class.html @@ -0,0 +1,92 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html> + +<head> +<title>const-class</title> +<link rel=stylesheet href="opcode.css"> +</head> + +<body> + +<h1>const-class</h1> + +<h2>Purpose</h2> + +<p> +Move a reference to the class specified by the given index into the specified +register. In the case where the indicated type is primitive, this will store a +reference to the primitive type's degenerate class. +</p> + +<h2>Details</h2> + +<table class="instruc"> +<thead> +<tr> + <th>Op & Format</th> + <th>Mnemonic / Syntax</th> + <th>Arguments</th> +</tr> +</thead> +<tbody> +<tr> + <td>1c 21c</td> + <td>const-class vAA, type@BBBB</td> + <td><code>A:</code> destination register (8 bits)<br/> + <code>B:</code> type index</td> +</tr> +</tbody> +</table> + +<h2>Constraints</h2> + +<ul> + <li> + A must be a valid register index in the current stack frame. + </li> + <li> + B must be a valid index into the type constant pool. + </li> +</ul> + +<h2>Behavior</h2> + +<ul> + <li> + An attempt is made to get a reference to the class C the name of which is + contained in type pool entry B. + </li> + <li> + If B refers to a primitive type, the corresponding degenerate class is used + instead. + </li> + <li> + If C has not been loaded and resolved before, it is being loaded and + resolved. All exceptions that are possible during class loading can occur at + this point. + </li> + <li> + A reference to C is moved into register vA, that is, vA' = C. + </li> + <li> + If v(A-1) is the lower half of a register pair, v(A-1)' becomes undefined. + </li> + <li> + If v(A+1) is the upper half of a register pair, v(A+1)' becomes undefined. + </li> +</ul> + +<h2>Exceptions</h2> + +<ul> + <li> + ClassNotFoundException is thrown if the class does not exist at all. + </li> + <li> + VerifyError is thrown if the class does exist, but could not be verified. + </li> +</ul> + +</body> +</html> |
