Opcodes.java revision a39712548bc2b07b1c55de0d9e5345b93f7018fb
1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (C) 2007 The Android Open Source Project
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * you may not use this file except in compliance with the License.
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * You may obtain a copy of the License at
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License.
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage dalvik.bytecode;
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * This is a list of Dalvik opcodes.
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (This was converted from //device/dalvik/libdex/OpCode.h)
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic interface Opcodes {
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_NOP                          = 0x00;
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE                         = 0x01;
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_FROM16                  = 0x02;
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_16                      = 0x03;
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_WIDE                    = 0x04;
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_WIDE_FROM16             = 0x05;
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_WIDE_16                 = 0x06;
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_OBJECT                  = 0x07;
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_OBJECT_FROM16           = 0x08;
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_OBJECT_16               = 0x09;
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_RESULT                  = 0x0a;
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_RESULT_WIDE             = 0x0b;
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_RESULT_OBJECT           = 0x0c;
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MOVE_EXCEPTION               = 0x0d;
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_RETURN_VOID                  = 0x0e;
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_RETURN                       = 0x0f;
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_RETURN_WIDE                  = 0x10;
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_RETURN_OBJECT                = 0x11;
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST_4                      = 0x12;
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST_16                     = 0x13;
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST                        = 0x14;
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST_HIGH16                 = 0x15;
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST_WIDE_16                = 0x16;
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST_WIDE_32                = 0x17;
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST_WIDE                   = 0x18;
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST_WIDE_HIGH16            = 0x19;
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST_STRING                 = 0x1a;
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST_STRING_JUMBO           = 0x1b;
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CONST_CLASS                  = 0x1c;
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MONITOR_ENTER                = 0x1d;
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MONITOR_EXIT                 = 0x1e;
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CHECK_CAST                   = 0x1f;
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INSTANCE_OF                  = 0x20;
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ARRAY_LENGTH                 = 0x21;
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_NEW_INSTANCE                 = 0x22;
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_NEW_ARRAY                    = 0x23;
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_FILLED_NEW_ARRAY             = 0x24;
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_FILLED_NEW_ARRAY_RANGE       = 0x25;
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_FILL_ARRAY_DATA              = 0x26;
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_THROW                        = 0x27;
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_GOTO                         = 0x28;
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_GOTO_16                      = 0x29;
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_GOTO_32                      = 0x2a;
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_PACKED_SWITCH                = 0x2b;
79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SPARSE_SWITCH                = 0x2c;
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CMPL_FLOAT                   = 0x2d;
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CMPG_FLOAT                   = 0x2e;
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CMPL_DOUBLE                  = 0x2f;
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CMPG_DOUBLE                  = 0x30;
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_CMP_LONG                     = 0x31;
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_EQ                        = 0x32;
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_NE                        = 0x33;
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_LT                        = 0x34;
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_GE                        = 0x35;
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_GT                        = 0x36;
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_LE                        = 0x37;
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_EQZ                       = 0x38;
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_NEZ                       = 0x39;
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_LTZ                       = 0x3a;
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_GEZ                       = 0x3b;
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_GTZ                       = 0x3c;
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IF_LEZ                       = 0x3d;
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
100b126c182b648bccfb9324022d19ddcb25cf22643Andy McFadden    /* 3e-43 unused */
101b126c182b648bccfb9324022d19ddcb25cf22643Andy McFadden
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AGET                         = 0x44;
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AGET_WIDE                    = 0x45;
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AGET_OBJECT                  = 0x46;
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AGET_BOOLEAN                 = 0x47;
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AGET_BYTE                    = 0x48;
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AGET_CHAR                    = 0x49;
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AGET_SHORT                   = 0x4a;
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_APUT                         = 0x4b;
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_APUT_WIDE                    = 0x4c;
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_APUT_OBJECT                  = 0x4d;
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_APUT_BOOLEAN                 = 0x4e;
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_APUT_BYTE                    = 0x4f;
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_APUT_CHAR                    = 0x50;
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_APUT_SHORT                   = 0x51;
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IGET                         = 0x52;
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IGET_WIDE                    = 0x53;
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IGET_OBJECT                  = 0x54;
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IGET_BOOLEAN                 = 0x55;
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IGET_BYTE                    = 0x56;
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IGET_CHAR                    = 0x57;
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IGET_SHORT                   = 0x58;
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IPUT                         = 0x59;
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IPUT_WIDE                    = 0x5a;
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IPUT_OBJECT                  = 0x5b;
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IPUT_BOOLEAN                 = 0x5c;
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IPUT_BYTE                    = 0x5d;
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IPUT_CHAR                    = 0x5e;
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IPUT_SHORT                   = 0x5f;
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SGET                         = 0x60;
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SGET_WIDE                    = 0x61;
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SGET_OBJECT                  = 0x62;
135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SGET_BOOLEAN                 = 0x63;
136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SGET_BYTE                    = 0x64;
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SGET_CHAR                    = 0x65;
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SGET_SHORT                   = 0x66;
139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SPUT                         = 0x67;
140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SPUT_WIDE                    = 0x68;
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SPUT_OBJECT                  = 0x69;
142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SPUT_BOOLEAN                 = 0x6a;
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SPUT_BYTE                    = 0x6b;
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SPUT_CHAR                    = 0x6c;
145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SPUT_SHORT                   = 0x6d;
146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_VIRTUAL               = 0x6e;
148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_SUPER                 = 0x6f;
149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_DIRECT                = 0x70;
150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_STATIC                = 0x71;
151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_INTERFACE             = 0x72;
152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
153b126c182b648bccfb9324022d19ddcb25cf22643Andy McFadden    /* 73 unused */
154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_VIRTUAL_RANGE         = 0x74;
156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_SUPER_RANGE           = 0x75;
157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_DIRECT_RANGE          = 0x76;
158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_STATIC_RANGE          = 0x77;
159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_INTERFACE_RANGE       = 0x78;
160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
161b126c182b648bccfb9324022d19ddcb25cf22643Andy McFadden    /* 79-7a unused */
162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_NEG_INT                      = 0x7b;
164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_NOT_INT                      = 0x7c;
165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_NEG_LONG                     = 0x7d;
166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_NOT_LONG                     = 0x7e;
167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_NEG_FLOAT                    = 0x7f;
168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_NEG_DOUBLE                   = 0x80;
169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INT_TO_LONG                  = 0x81;
170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INT_TO_FLOAT                 = 0x82;
171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INT_TO_DOUBLE                = 0x83;
172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_LONG_TO_INT                  = 0x84;
173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_LONG_TO_FLOAT                = 0x85;
174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_LONG_TO_DOUBLE               = 0x86;
175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_FLOAT_TO_INT                 = 0x87;
176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_FLOAT_TO_LONG                = 0x88;
177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_FLOAT_TO_DOUBLE              = 0x89;
178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DOUBLE_TO_INT                = 0x8a;
179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DOUBLE_TO_LONG               = 0x8b;
180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DOUBLE_TO_FLOAT              = 0x8c;
181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INT_TO_BYTE                  = 0x8d;
182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INT_TO_CHAR                  = 0x8e;
183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INT_TO_SHORT                 = 0x8f;
184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ADD_INT                      = 0x90;
186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SUB_INT                      = 0x91;
187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MUL_INT                      = 0x92;
188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DIV_INT                      = 0x93;
189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_REM_INT                      = 0x94;
190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AND_INT                      = 0x95;
191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_OR_INT                       = 0x96;
192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_XOR_INT                      = 0x97;
193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SHL_INT                      = 0x98;
194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SHR_INT                      = 0x99;
195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_USHR_INT                     = 0x9a;
196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ADD_LONG                     = 0x9b;
198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SUB_LONG                     = 0x9c;
199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MUL_LONG                     = 0x9d;
200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DIV_LONG                     = 0x9e;
201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_REM_LONG                     = 0x9f;
202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AND_LONG                     = 0xa0;
203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_OR_LONG                      = 0xa1;
204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_XOR_LONG                     = 0xa2;
205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SHL_LONG                     = 0xa3;
206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SHR_LONG                     = 0xa4;
207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_USHR_LONG                    = 0xa5;
208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ADD_FLOAT                    = 0xa6;
210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SUB_FLOAT                    = 0xa7;
211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MUL_FLOAT                    = 0xa8;
212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DIV_FLOAT                    = 0xa9;
213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_REM_FLOAT                    = 0xaa;
214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ADD_DOUBLE                   = 0xab;
215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SUB_DOUBLE                   = 0xac;
216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MUL_DOUBLE                   = 0xad;
217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DIV_DOUBLE                   = 0xae;
218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_REM_DOUBLE                   = 0xaf;
219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ADD_INT_2ADDR                = 0xb0;
221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SUB_INT_2ADDR                = 0xb1;
222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MUL_INT_2ADDR                = 0xb2;
223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DIV_INT_2ADDR                = 0xb3;
224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_REM_INT_2ADDR                = 0xb4;
225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AND_INT_2ADDR                = 0xb5;
226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_OR_INT_2ADDR                 = 0xb6;
227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_XOR_INT_2ADDR                = 0xb7;
228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SHL_INT_2ADDR                = 0xb8;
229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SHR_INT_2ADDR                = 0xb9;
230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_USHR_INT_2ADDR               = 0xba;
231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ADD_LONG_2ADDR               = 0xbb;
233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SUB_LONG_2ADDR               = 0xbc;
234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MUL_LONG_2ADDR               = 0xbd;
235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DIV_LONG_2ADDR               = 0xbe;
236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_REM_LONG_2ADDR               = 0xbf;
237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AND_LONG_2ADDR               = 0xc0;
238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_OR_LONG_2ADDR                = 0xc1;
239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_XOR_LONG_2ADDR               = 0xc2;
240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SHL_LONG_2ADDR               = 0xc3;
241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SHR_LONG_2ADDR               = 0xc4;
242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_USHR_LONG_2ADDR              = 0xc5;
243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ADD_FLOAT_2ADDR              = 0xc6;
245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SUB_FLOAT_2ADDR              = 0xc7;
246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MUL_FLOAT_2ADDR              = 0xc8;
247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DIV_FLOAT_2ADDR              = 0xc9;
248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_REM_FLOAT_2ADDR              = 0xca;
249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ADD_DOUBLE_2ADDR             = 0xcb;
250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SUB_DOUBLE_2ADDR             = 0xcc;
251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MUL_DOUBLE_2ADDR             = 0xcd;
252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DIV_DOUBLE_2ADDR             = 0xce;
253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_REM_DOUBLE_2ADDR             = 0xcf;
254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ADD_INT_LIT16                = 0xd0;
256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_RSUB_INT                     = 0xd1; /* no _LIT16 suffix for this */
257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MUL_INT_LIT16                = 0xd2;
258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DIV_INT_LIT16                = 0xd3;
259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_REM_INT_LIT16                = 0xd4;
260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AND_INT_LIT16                = 0xd5;
261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_OR_INT_LIT16                 = 0xd6;
262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_XOR_INT_LIT16                = 0xd7;
263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_ADD_INT_LIT8                 = 0xd8;
265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_RSUB_INT_LIT8                = 0xd9;
266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_MUL_INT_LIT8                 = 0xda;
267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_DIV_INT_LIT8                 = 0xdb;
268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_REM_INT_LIT8                 = 0xdc;
269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_AND_INT_LIT8                 = 0xdd;
270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_OR_INT_LIT8                  = 0xde;
271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_XOR_INT_LIT8                 = 0xdf;
272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SHL_INT_LIT8                 = 0xe0;
273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_SHR_INT_LIT8                 = 0xe1;
274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_USHR_INT_LIT8                = 0xe2;
275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
276a39712548bc2b07b1c55de0d9e5345b93f7018fbAndy McFadden    /* e3-e7 unused */
277ea78506215fa3563afd350d29a1903e05d0a80c9Andy McFadden
278ea78506215fa3563afd350d29a1903e05d0a80c9Andy McFadden    /*
279ea78506215fa3563afd350d29a1903e05d0a80c9Andy McFadden     * The rest of these are either generated by dexopt for optimized
280ea78506215fa3563afd350d29a1903e05d0a80c9Andy McFadden     * code, or inserted by the VM at runtime.  They are never generated
281ea78506215fa3563afd350d29a1903e05d0a80c9Andy McFadden     * by "dx".
282ea78506215fa3563afd350d29a1903e05d0a80c9Andy McFadden     */
283a39712548bc2b07b1c55de0d9e5345b93f7018fbAndy McFadden    int OP_IGET_WIDE_VOLATILE           = 0xe8;
284a39712548bc2b07b1c55de0d9e5345b93f7018fbAndy McFadden    int OP_IPUT_WIDE_VOLATILE           = 0xe9;
285a39712548bc2b07b1c55de0d9e5345b93f7018fbAndy McFadden    int OP_SGET_WIDE_VOLATILE           = 0xea;
286a39712548bc2b07b1c55de0d9e5345b93f7018fbAndy McFadden    int OP_SPUT_WIDE_VOLATILE           = 0xeb;
287a39712548bc2b07b1c55de0d9e5345b93f7018fbAndy McFadden
288ea78506215fa3563afd350d29a1903e05d0a80c9Andy McFadden    int OP_BREAKPOINT                   = 0xec;
289ea78506215fa3563afd350d29a1903e05d0a80c9Andy McFadden    int OP_THROW_VERIFICATION_ERROR     = 0xed;
290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_EXECUTE_INLINE               = 0xee;
292ea78506215fa3563afd350d29a1903e05d0a80c9Andy McFadden    int OP_EXECUTE_INLINE_RANGE         = 0xef;
293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_DIRECT_EMPTY          = 0xf0;
295b126c182b648bccfb9324022d19ddcb25cf22643Andy McFadden    /* f1 unused (OP_INVOKE_DIRECT_EMPTY_RANGE?) */
296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IGET_QUICK                   = 0xf2;
297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IGET_WIDE_QUICK              = 0xf3;
298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IGET_OBJECT_QUICK            = 0xf4;
299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IPUT_QUICK                   = 0xf5;
300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IPUT_WIDE_QUICK              = 0xf6;
301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_IPUT_OBJECT_QUICK            = 0xf7;
302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_VIRTUAL_QUICK         = 0xf8;
304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_VIRTUAL_QUICK_RANGE   = 0xf9;
305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_SUPER_QUICK           = 0xfa;
306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int OP_INVOKE_SUPER_QUICK_RANGE     = 0xfb;
307b126c182b648bccfb9324022d19ddcb25cf22643Andy McFadden    /* fc unused (OP_INVOKE_DIRECT_QUICK?) */
308b126c182b648bccfb9324022d19ddcb25cf22643Andy McFadden    /* fd unused (OP_INVOKE_DIRECT_QUICK_RANGE?) */
309b126c182b648bccfb9324022d19ddcb25cf22643Andy McFadden    /* fe unused (OP_INVOKE_INTERFACE_QUICK?) */
310b126c182b648bccfb9324022d19ddcb25cf22643Andy McFadden    /* ff unused (OP_INVOKE_INTERFACE_QUICK_RANGE?) */
311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
313