chris
[tamarin-stm.git] / utils / opcodes-table.as
blob641cab4d67a8ef3d79d83a498a360e233b44c91e
1 /* ***** BEGIN LICENSE BLOCK *****
2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 * The contents of this file are subject to the Mozilla Public License Version
5 * 1.1 (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 * http://www.mozilla.org/MPL/
9 * Software distributed under the License is distributed on an "AS IS" basis,
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 * for the specific language governing rights and limitations under the
12 * License.
14 * The Original Code is [Open Source Virtual Machine.].
16 * The Initial Developer of the Original Code is
17 * Adobe System Incorporated.
18 * Portions created by the Initial Developer are Copyright (C) 2004-2006
19 * the Initial Developer. All Rights Reserved.
21 * Contributor(s):
22 * Adobe AS3 Team
24 * Alternatively, the contents of this file may be used under the terms of
25 * either the GNU General Public License Version 2 or later (the "GPL"), or
26 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 * in which case the provisions of the GPL or the LGPL are applicable instead
28 * of those above. If you wish to allow use of your version of this file only
29 * under the terms of either the GPL or the LGPL, and not to allow others to
30 * use your version of this file under the terms of the MPL, indicate your
31 * decision by deleting the provisions above and replace them with the notice
32 * and other provisions required by the GPL or the LGPL. If you do not delete
33 * the provisions above, a recipient may use your version of this file under
34 * the terms of any one of the MPL, the GPL or the LGPL.
36 * ***** END LICENSE BLOCK ***** */
38 //////////////////////////////////////////////////////////////////////////////////
39 // GENERATED FILE: DO NOT EDIT!!! See utils/opcodes.as in the tamarin repository.
40 //////////////////////////////////////////////////////////////////////////////////
42 // This file is to be included by its clients.
44 const OP_bkpt : int = 0x01;
45 const OP_nop : int = 0x02;
46 const OP_throw : int = 0x03;
47 const OP_getsuper : int = 0x04;
48 const OP_setsuper : int = 0x05;
49 const OP_dxns : int = 0x06;
50 const OP_dxnslate : int = 0x07;
51 const OP_kill : int = 0x08;
52 const OP_label : int = 0x09;
53 const OP_ifnlt : int = 0x0c;
54 const OP_ifnle : int = 0x0d;
55 const OP_ifngt : int = 0x0e;
56 const OP_ifnge : int = 0x0f;
57 const OP_jump : int = 0x10;
58 const OP_iftrue : int = 0x11;
59 const OP_iffalse : int = 0x12;
60 const OP_ifeq : int = 0x13;
61 const OP_ifne : int = 0x14;
62 const OP_iflt : int = 0x15;
63 const OP_ifle : int = 0x16;
64 const OP_ifgt : int = 0x17;
65 const OP_ifge : int = 0x18;
66 const OP_ifstricteq : int = 0x19;
67 const OP_ifstrictne : int = 0x1a;
68 const OP_lookupswitch : int = 0x1b;
69 const OP_pushwith : int = 0x1c;
70 const OP_popscope : int = 0x1d;
71 const OP_nextname : int = 0x1e;
72 const OP_hasnext : int = 0x1f;
73 const OP_pushnull : int = 0x20;
74 const OP_pushundefined : int = 0x21;
75 const OP_nextvalue : int = 0x23;
76 const OP_pushbyte : int = 0x24;
77 const OP_pushshort : int = 0x25;
78 const OP_pushtrue : int = 0x26;
79 const OP_pushfalse : int = 0x27;
80 const OP_pushnan : int = 0x28;
81 const OP_pop : int = 0x29;
82 const OP_dup : int = 0x2a;
83 const OP_swap : int = 0x2b;
84 const OP_pushstring : int = 0x2c;
85 const OP_pushint : int = 0x2d;
86 const OP_pushuint : int = 0x2e;
87 const OP_pushdouble : int = 0x2f;
88 const OP_pushscope : int = 0x30;
89 const OP_pushnamespace : int = 0x31;
90 const OP_hasnext2 : int = 0x32;
91 const OP_li8 : int = 0x35;
92 const OP_li16 : int = 0x36;
93 const OP_li32 : int = 0x37;
94 const OP_lf32 : int = 0x38;
95 const OP_lf64 : int = 0x39;
96 const OP_si8 : int = 0x3a;
97 const OP_si16 : int = 0x3b;
98 const OP_si32 : int = 0x3c;
99 const OP_sf32 : int = 0x3d;
100 const OP_sf64 : int = 0x3e;
101 const OP_newfunction : int = 0x40;
102 const OP_call : int = 0x41;
103 const OP_construct : int = 0x42;
104 const OP_callmethod : int = 0x43;
105 const OP_callstatic : int = 0x44;
106 const OP_callsuper : int = 0x45;
107 const OP_callproperty : int = 0x46;
108 const OP_returnvoid : int = 0x47;
109 const OP_returnvalue : int = 0x48;
110 const OP_constructsuper : int = 0x49;
111 const OP_constructprop : int = 0x4a;
112 const OP_callproplex : int = 0x4c;
113 const OP_callsupervoid : int = 0x4e;
114 const OP_callpropvoid : int = 0x4f;
115 const OP_sxi1 : int = 0x50;
116 const OP_sxi8 : int = 0x51;
117 const OP_sxi16 : int = 0x52;
118 const OP_applytype : int = 0x53;
119 const OP_newobject : int = 0x55;
120 const OP_newarray : int = 0x56;
121 const OP_newactivation : int = 0x57;
122 const OP_newclass : int = 0x58;
123 const OP_getdescendants : int = 0x59;
124 const OP_newcatch : int = 0x5a;
125 const OP_findpropstrict : int = 0x5d;
126 const OP_findproperty : int = 0x5e;
127 const OP_finddef : int = 0x5f;
128 const OP_getlex : int = 0x60;
129 const OP_setproperty : int = 0x61;
130 const OP_getlocal : int = 0x62;
131 const OP_setlocal : int = 0x63;
132 const OP_getglobalscope : int = 0x64;
133 const OP_getscopeobject : int = 0x65;
134 const OP_getproperty : int = 0x66;
135 const OP_getouterscope : int = 0x67;
136 const OP_initproperty : int = 0x68;
137 const OP_deleteproperty : int = 0x6a;
138 const OP_getslot : int = 0x6c;
139 const OP_setslot : int = 0x6d;
140 const OP_getglobalslot : int = 0x6e;
141 const OP_setglobalslot : int = 0x6f;
142 const OP_convert_s : int = 0x70;
143 const OP_esc_xelem : int = 0x71;
144 const OP_esc_xattr : int = 0x72;
145 const OP_convert_i : int = 0x73;
146 const OP_convert_u : int = 0x74;
147 const OP_convert_d : int = 0x75;
148 const OP_convert_b : int = 0x76;
149 const OP_convert_o : int = 0x77;
150 const OP_checkfilter : int = 0x78;
151 const OP_coerce : int = 0x80;
152 const OP_coerce_b : int = 0x81;
153 const OP_coerce_a : int = 0x82;
154 const OP_coerce_i : int = 0x83;
155 const OP_coerce_d : int = 0x84;
156 const OP_coerce_s : int = 0x85;
157 const OP_astype : int = 0x86;
158 const OP_astypelate : int = 0x87;
159 const OP_coerce_u : int = 0x88;
160 const OP_coerce_o : int = 0x89;
161 const OP_negate : int = 0x90;
162 const OP_increment : int = 0x91;
163 const OP_inclocal : int = 0x92;
164 const OP_decrement : int = 0x93;
165 const OP_declocal : int = 0x94;
166 const OP_typeof : int = 0x95;
167 const OP_not : int = 0x96;
168 const OP_bitnot : int = 0x97;
169 const OP_add : int = 0xa0;
170 const OP_subtract : int = 0xa1;
171 const OP_multiply : int = 0xa2;
172 const OP_divide : int = 0xa3;
173 const OP_modulo : int = 0xa4;
174 const OP_lshift : int = 0xa5;
175 const OP_rshift : int = 0xa6;
176 const OP_urshift : int = 0xa7;
177 const OP_bitand : int = 0xa8;
178 const OP_bitor : int = 0xa9;
179 const OP_bitxor : int = 0xaa;
180 const OP_equals : int = 0xab;
181 const OP_strictequals : int = 0xac;
182 const OP_lessthan : int = 0xad;
183 const OP_lessequals : int = 0xae;
184 const OP_greaterthan : int = 0xaf;
185 const OP_greaterequals : int = 0xb0;
186 const OP_instanceof : int = 0xb1;
187 const OP_istype : int = 0xb2;
188 const OP_istypelate : int = 0xb3;
189 const OP_in : int = 0xb4;
190 const OP_increment_i : int = 0xc0;
191 const OP_decrement_i : int = 0xc1;
192 const OP_inclocal_i : int = 0xc2;
193 const OP_declocal_i : int = 0xc3;
194 const OP_negate_i : int = 0xc4;
195 const OP_add_i : int = 0xc5;
196 const OP_subtract_i : int = 0xc6;
197 const OP_multiply_i : int = 0xc7;
198 const OP_getlocal0 : int = 0xd0;
199 const OP_getlocal1 : int = 0xd1;
200 const OP_getlocal2 : int = 0xd2;
201 const OP_getlocal3 : int = 0xd3;
202 const OP_setlocal0 : int = 0xd4;
203 const OP_setlocal1 : int = 0xd5;
204 const OP_setlocal2 : int = 0xd6;
205 const OP_setlocal3 : int = 0xd7;
206 const OP_debug : int = 0xef;
207 const OP_debugline : int = 0xf0;
208 const OP_debugfile : int = 0xf1;
209 const OP_bkptline : int = 0xf2;
210 const OP_timestamp : int = 0xf3;
211 const opNames : Array = [
212 "OP_0x00 ",
213 "bkpt ",
214 "nop ",
215 "throw ",
216 "getsuper ",
217 "setsuper ",
218 "dxns ",
219 "dxnslate ",
220 "kill ",
221 "label ",
222 "OP_0x0A ",
223 "OP_0x0B ",
224 "ifnlt ",
225 "ifnle ",
226 "ifngt ",
227 "ifnge ",
228 "jump ",
229 "iftrue ",
230 "iffalse ",
231 "ifeq ",
232 "ifne ",
233 "iflt ",
234 "ifle ",
235 "ifgt ",
236 "ifge ",
237 "ifstricteq ",
238 "ifstrictne ",
239 "lookupswitch ",
240 "pushwith ",
241 "popscope ",
242 "nextname ",
243 "hasnext ",
244 "pushnull ",
245 "pushundefined ",
246 "OP_0x22 ",
247 "nextvalue ",
248 "pushbyte ",
249 "pushshort ",
250 "pushtrue ",
251 "pushfalse ",
252 "pushnan ",
253 "pop ",
254 "dup ",
255 "swap ",
256 "pushstring ",
257 "pushint ",
258 "pushuint ",
259 "pushdouble ",
260 "pushscope ",
261 "pushnamespace ",
262 "hasnext2 ",
263 "OP_0x33 ",
264 "OP_0x34 ",
265 "li8 ",
266 "li16 ",
267 "li32 ",
268 "lf32 ",
269 "lf64 ",
270 "si8 ",
271 "si16 ",
272 "si32 ",
273 "sf32 ",
274 "sf64 ",
275 "OP_0x3F ",
276 "newfunction ",
277 "call ",
278 "construct ",
279 "callmethod ",
280 "callstatic ",
281 "callsuper ",
282 "callproperty ",
283 "returnvoid ",
284 "returnvalue ",
285 "constructsuper",
286 "constructprop ",
287 "OP_0x4B ",
288 "callproplex ",
289 "OP_0x4D ",
290 "callsupervoid ",
291 "callpropvoid ",
292 "sxi1 ",
293 "sxi8 ",
294 "sxi16 ",
295 "applytype ",
296 "OP_0x54 ",
297 "newobject ",
298 "newarray ",
299 "newactivation ",
300 "newclass ",
301 "getdescendants",
302 "newcatch ",
303 "OP_0x5B ",
304 "OP_0x5C ",
305 "findpropstrict",
306 "findproperty ",
307 "finddef ",
308 "getlex ",
309 "setproperty ",
310 "getlocal ",
311 "setlocal ",
312 "getglobalscope",
313 "getscopeobject",
314 "getproperty ",
315 "getouterscope ",
316 "initproperty ",
317 "OP_0x69 ",
318 "deleteproperty",
319 "OP_0x6B ",
320 "getslot ",
321 "setslot ",
322 "getglobalslot ",
323 "setglobalslot ",
324 "convert_s ",
325 "esc_xelem ",
326 "esc_xattr ",
327 "convert_i ",
328 "convert_u ",
329 "convert_d ",
330 "convert_b ",
331 "convert_o ",
332 "checkfilter ",
333 "OP_0x79 ",
334 "OP_0x7A ",
335 "OP_0x7B ",
336 "OP_0x7C ",
337 "OP_0x7D ",
338 "OP_0x7E ",
339 "OP_0x7F ",
340 "coerce ",
341 "coerce_b ",
342 "coerce_a ",
343 "coerce_i ",
344 "coerce_d ",
345 "coerce_s ",
346 "astype ",
347 "astypelate ",
348 "coerce_u ",
349 "coerce_o ",
350 "OP_0x8A ",
351 "OP_0x8B ",
352 "OP_0x8C ",
353 "OP_0x8D ",
354 "OP_0x8E ",
355 "OP_0x8F ",
356 "negate ",
357 "increment ",
358 "inclocal ",
359 "decrement ",
360 "declocal ",
361 "typeof ",
362 "not ",
363 "bitnot ",
364 "OP_0x98 ",
365 "OP_0x99 ",
366 "OP_0x9A ",
367 "OP_0x9B ",
368 "OP_0x9C ",
369 "OP_0x9D ",
370 "OP_0x9E ",
371 "OP_0x9F ",
372 "add ",
373 "subtract ",
374 "multiply ",
375 "divide ",
376 "modulo ",
377 "lshift ",
378 "rshift ",
379 "urshift ",
380 "bitand ",
381 "bitor ",
382 "bitxor ",
383 "equals ",
384 "strictequals ",
385 "lessthan ",
386 "lessequals ",
387 "greaterthan ",
388 "greaterequals ",
389 "instanceof ",
390 "istype ",
391 "istypelate ",
392 "in ",
393 "OP_0xB5 ",
394 "OP_0xB6 ",
395 "OP_0xB7 ",
396 "OP_0xB8 ",
397 "OP_0xB9 ",
398 "OP_0xBA ",
399 "OP_0xBB ",
400 "OP_0xBC ",
401 "OP_0xBD ",
402 "OP_0xBE ",
403 "OP_0xBF ",
404 "increment_i ",
405 "decrement_i ",
406 "inclocal_i ",
407 "declocal_i ",
408 "negate_i ",
409 "add_i ",
410 "subtract_i ",
411 "multiply_i ",
412 "OP_0xC8 ",
413 "OP_0xC9 ",
414 "OP_0xCA ",
415 "OP_0xCB ",
416 "OP_0xCC ",
417 "OP_0xCD ",
418 "OP_0xCE ",
419 "OP_0xCF ",
420 "getlocal0 ",
421 "getlocal1 ",
422 "getlocal2 ",
423 "getlocal3 ",
424 "setlocal0 ",
425 "setlocal1 ",
426 "setlocal2 ",
427 "setlocal3 ",
428 "OP_0xD8 ",
429 "OP_0xD9 ",
430 "OP_0xDA ",
431 "OP_0xDB ",
432 "OP_0xDC ",
433 "OP_0xDD ",
434 "OP_0xDE ",
435 "OP_0xDF ",
436 "OP_0xE0 ",
437 "OP_0xE1 ",
438 "OP_0xE2 ",
439 "OP_0xE3 ",
440 "OP_0xE4 ",
441 "OP_0xE5 ",
442 "OP_0xE6 ",
443 "OP_0xE7 ",
444 "OP_0xE8 ",
445 "OP_0xE9 ",
446 "OP_0xEA ",
447 "OP_0xEB ",
448 "OP_0xEC ",
449 "OP_0xED ",
450 "OP_0xEE ",
451 "debug ",
452 "debugline ",
453 "debugfile ",
454 "bkptline ",
455 "timestamp ",
456 "OP_0xF4 ",
457 "OP_0xF5 ",
458 "OP_0xF6 ",
459 "OP_0xF7 ",
460 "OP_0xF8 ",
461 "OP_0xF9 ",
462 "OP_0xFA ",
463 "OP_0xFB ",
464 "OP_0xFC ",
465 "OP_0xFD ",
466 "OP_0xFE ",
467 "OP_0xFF ",