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-26-fill-array-data.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-26-fill-array-data.html')
| -rw-r--r-- | docs/opcodes/opcode-26-fill-array-data.html | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/docs/opcodes/opcode-26-fill-array-data.html b/docs/opcodes/opcode-26-fill-array-data.html new file mode 100644 index 000000000..c5040a5ba --- /dev/null +++ b/docs/opcodes/opcode-26-fill-array-data.html @@ -0,0 +1,96 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html> + +<head> +<title>fill-array-data</title> +<link rel=stylesheet href="opcode.css"> +</head> + +<body> + +<h1>fill-array-data</h1> + +<h2>Purpose</h2> + +<p> +Fill the given array with the indicated data. The reference must be to an array +of primitives, and the data table must match it in type and size. +</p> +<p> +Note: The address of the table is guaranteed to be even (that is, 4-byte +aligned). If the code size of the method is otherwise odd, then an extra code +unit is inserted between the main code and the table whose value is the same as +a nop. +</p> + +<h2>Details</h2> + +<table class="instruc"> +<thead> +<tr> + <th>Op & Format</th> + <th>Mnemonic / Syntax</th> + <th>Arguments</th> +</tr> +</thead> +<tbody> + <td>26 31t</td> + <td>fill-array-data vAA, +BBBBBBBB <i>(with supplemental data as specified + below in "<code>fill-array-data</code> Format")</i></td> + <td><code>A:</code> array reference (8 bits)<br/> + <code>B:</code> signed "branch" offset to table data (32 bits)</td> + </td> +</tbody> +</table> + +<h2>Constraints</h2> + +<ul> + <li> + A must be a valid register index in the current stack frame. + </li> + <li> + vA must be a reference-bearing register (according to data flow) and contain + an array-reference. + </li> + <li> + B must be branch offset in the same method. + </li> + <li> + The target address (PC+B) must be 4-byte aligned. + </li> + <li> + The target address must hold the pseudo-opcode 0x300. + </li> + <li> + The table entry size must match the size of the data type of the array. + </li> + <li> + The table size must be equal or smaller than the array length. + </li> +</ul> + +<h2>Behavior</h2> + +<ul> + <li> + The contents of the array referenced by vA are filled with the table data, + starting from array index 0 and in the given order. + </li> + <li> + If there are less elements in the table than the array provides space for, + the remaining array elements stay untouched. + </li> +</ul> + +<h2>Exceptions</h2> + +<ul> + <li> + NullPointerException if vA is null. + </li> +</ul> + +</body> +</html> |
