blob: 0f756d02e015fee54b6e1c065b6108ddf15a89f5 [file] [log] [blame]
The Android Open Source Projectf6c38712009-03-03 19:28:47 -08001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
3<html>
4
5<head>
6<title>move-exception</title>
7<link rel=stylesheet href="opcode.css">
8</head>
9
10<body>
11
12<h1>move-exception</h1>
13
14<h2>Purpose</h2>
15
16<p>
17Save a just-caught exception into the given register. This should be the first
18instruction of any exception handler whose caught exception is not to be
19ignored, and this instruction may only ever occur as the first instruction of an
Carl Shapirode750892010-06-08 16:37:12 -070020exception handler; anywhere else is invalid.
The Android Open Source Projectf6c38712009-03-03 19:28:47 -080021</p>
22
23<h2>Details</h2>
24
25<table class="instruc">
26<thead>
27<tr>
28 <th>Op &amp; Format</th>
29 <th>Mnemonic / Syntax</th>
30 <th>Arguments</th>
31</tr>
32</thead>
33<tbody>
34<tr>
35 <td>0d 11x</td>
36 <td>move-exception vAA</td>
37 <td><code>A:</code> destination register (8 bits)</td>
38</tr>
39</tbody>
40</table>
41
42<h2>Constraints</h2>
43
44<ul>
45 <li>
46 A must be a valid register index in the current stack frame.
47 </li>
48 <li>
49 The instruction must be the first instruction (in the code array) of an
50 instruction handler, that is, its offset in the code array must match one of
51 the handlers defined for the method in the Dex file.
52 </li>
53</ul>
Carl Shapirode750892010-06-08 16:37:12 -070054
The Android Open Source Projectf6c38712009-03-03 19:28:47 -080055<h2>Behavior</h2>
56
57<ul>
58 <li>
59 The active exception of the current thread is moved to register vA, that is,
60 vA' = exception.
61 </li>
62 <li>
63 If register v(A-1) is the lower half of a register pair, register v(A-1)'
64 becomes undefined.
65 </li>
66 <li>
67 If register v(A+1) is the upper half of a register pair, register v(A+1)'
68 becomes undefined.
69 </li>
70</ul>
71
72<h2>Exceptions</h2>
73
74<p>
75None.
76</p>
77
78</body>
79</html>