]> git.proxmox.com Git - ceph.git/blame - ceph/src/civetweb/src/third_party/duktape-1.8.0/debugger/duk_opcodes.yaml
buildsys: switch source download to quincy
[ceph.git] / ceph / src / civetweb / src / third_party / duktape-1.8.0 / debugger / duk_opcodes.yaml
CommitLineData
7c673cae
FG
1# Duktape opcode metadata for debugger.
2# - See duk_debug.js for the argument formats (A_R etc).
3# - Flag bits are for the whole instruction as a 32-bit integer,
4# they are not field shifted
5#
6# NOTE: Use YAML comments only on comment-only lines (not trailing content):
7# Node.js 'yamljs' seems to refuse parsing trailing comments in some cases.
8
9opcodes:
10 - name: LDREG
11 args:
12 - A_R
13 - BC_R
14 - name: STREG
15 args:
16 - A_R
17 - BC_R
18 - name: LDCONST
19 args:
20 - A_R
21 - BC_C
22 - name: LDINT
23 args:
24 - A_R
25 - BC_LDINT
26 - name: LDINTX
27 args:
28 - A_R
29 - BC_LDINTX
30 - name: MPUTOBJ
31 args:
32 - A_R
33 - B_R
34 - C_I
35 - name: MPUTOBJI
36 args:
37 - A_R
38 - B_RI
39 - C_I
40 - name: MPUTARR
41 args:
42 - A_R
43 - B_R
44 - C_I
45 - name: MPUTARRI
46 args:
47 - A_R
48 - B_RI
49 - C_I
50 - name: NEW
51 args:
52 - B_R
53 - C_I
54 - name: NEWI
55 args:
56 - B_RI
57 - C_I
58 - name: REGEXP
59 args:
60 - A_R
61 - B_RC
62 - C_RC
63 - name: CSREG
64 args:
65 - A_R
66 - B_R
67 - name: CSREGI
68 args:
69 - A_RI
70 - B_R
71 - name: GETVAR
72 args:
73 - A_R
74 - BC_C
75 - name: PUTVAR
76 args:
77 - A_R
78 - BC_C
79 - name: DECLVAR
80 args:
81 - A_H
82 - B_RC
83 - C_RC
84 flags:
85 - mask: 0x40
86 name: writable
87 - mask: 0x80
88 name: enumerable
89 - mask: 0x100
90 name: configurable
91 - mask: 0x200
92 name: accessor
93 - mask: 0x400
94 name: undef_value
95 - mask: 0x800
96 name: func_decl
97 - name: DELVAR
98 args:
99 - A_R
100 - B_RC
101 - name: CSVAR
102 args:
103 - A_R
104 - B_RC
105 - name: CSVARI
106 args:
107 - A_RI
108 - B_RC
109 - name: CLOSURE
110 args:
111 - A_R
112 - BC_I
113 - name: GETPROP
114 args:
115 - A_R
116 - B_RC
117 - C_RC
118 - name: PUTPROP
119 args:
120 - A_R
121 - B_RC
122 - C_RC
123 - name: DELPROP
124 args:
125 - A_R
126 - B_R
127 - C_RC
128 - name: CSPROP
129 args:
130 - A_R
131 - B_R
132 - C_RC
133 - name: CSPROPI
134 args:
135 - A_RI
136 - B_R
137 - C_RC
138 - name: ADD
139 args:
140 - A_R
141 - B_RC
142 - C_RC
143 - name: SUB
144 args:
145 - A_R
146 - B_RC
147 - C_RC
148 - name: MUL
149 args:
150 - A_R
151 - B_RC
152 - C_RC
153 - name: DIV
154 args:
155 - A_R
156 - B_RC
157 - C_RC
158 - name: MOD
159 args:
160 - A_R
161 - B_RC
162 - C_RC
163 - name: BAND
164 args:
165 - A_R
166 - B_RC
167 - C_RC
168 - name: BOR
169 args:
170 - A_R
171 - B_RC
172 - C_RC
173 - name: BXOR
174 args:
175 - A_R
176 - B_RC
177 - C_RC
178 - name: BASL
179 args:
180 - A_R
181 - B_RC
182 - C_RC
183 - name: BLSR
184 args:
185 - A_R
186 - B_RC
187 - C_RC
188 - name: BASR
189 args:
190 - A_R
191 - B_RC
192 - C_RC
193 - name: EQ
194 args:
195 - A_R
196 - B_RC
197 - C_RC
198 - name: NEQ
199 args:
200 - A_R
201 - B_RC
202 - C_RC
203 - name: SEQ
204 args:
205 - A_R
206 - B_RC
207 - C_RC
208 - name: SNEQ
209 args:
210 - A_R
211 - B_RC
212 - C_RC
213 - name: GT
214 args:
215 - A_R
216 - B_RC
217 - C_RC
218 - name: GE
219 args:
220 - A_R
221 - B_RC
222 - C_RC
223 - name: LT
224 args:
225 - A_R
226 - B_RC
227 - C_RC
228 - name: LE
229 args:
230 - A_R
231 - B_RC
232 - C_RC
233 - name: IF
234 args:
235 - A_B
236 - B_RC
237 - name: JUMP
238 args:
239 - ABC_JUMP
240 - name: RETURN
241 args:
242 - A_H
243 - B_RC
244 flags:
245 - mask: 0x40
7c673cae
FG
246 name: have_retval
247 - name: CALL
248 args:
249 - A_H
250 - B_R
251 - C_I
252 flags:
253 - mask: 0x40
254 name: tailcall
255 - mask: 0x80
256 name: evalcall
257 - name: CALLI
258 args:
259 - A_H
260 - B_RI
261 - C_I
262 - name: TRYCATCH
263 args:
264 - A_H
265 # base register for two consecutive regs (base_reg + 0, base_reg + 1) used for two things:
266 # - input: either 'with' target register or catch varname constant (base_reg + 0), depending on flags
267 # - output: when caught, catch value (base_reg + 0) and type (base_reg + 1)
268 - BC_R
269 flags:
270 - mask: 0x40
271 name: have_catch
272 - mask: 0x80
273 name: have_finally
274 - mask: 0x100
275 name: catch_binding
276 - mask: 0x200
277 name: with_binding
278 - name: EXTRA
279 extra: true
280 - name: PREINCR
281 args:
282 - A_R
283 - BC_R
284 - name: PREDECR
285 args:
286 - A_R
287 - BC_R
288 - name: POSTINCR
289 args:
290 - A_R
291 - BC_R
292 - name: POSTDECR
293 args:
294 - A_R
295 - BC_R
296 - name: PREINCV
297 args:
298 - A_R
299 - BC_C
300 - name: PREDECV
301 args:
302 - A_R
303 - BC_C
304 - name: POSTINCV
305 args:
306 - A_R
307 - BC_C
308 - name: POSTDECV
309 args:
310 - A_R
311 - BC_C
312 - name: PREINCP
313 args:
314 - A_R
315 - B_RC
316 - C_RC
317 - name: PREDECP
318 args:
319 - A_R
320 - B_RC
321 - C_RC
322 - name: POSTINCP
323 args:
324 - A_R
325 - B_RC
326 - C_RC
327 - name: POSTDECP
328 args:
329 - A_R
330 - B_RC
331 - C_RC
332
333extra:
334 - name: NOP
335 - name: INVALID
336 args:
337 - BC_I
338 - name: LDTHIS
339 args:
340 - BC_R
341 - name: LDUNDEF
342 args:
343 - BC_R
344 - name: LDNULL
345 args:
346 - BC_R
347 - name: LDTRUE
348 args:
349 - BC_R
350 - name: LDFALSE
351 args:
352 - BC_R
353 - name: NEWOBJ
354 args:
355 # XXX: extend to BC?
356 - B_R
357 - name: NEWARR
358 args:
359 # XXX: extend to BC?
360 - B_R
361 - name: SETALEN
362 args:
363 - B_R
364 - C_R
365 - name: TYPEOF
366 args:
367 - BC_R
368 - name: TYPEOFID
369 args:
370 - B_R
371 # maybe changed to C_C later
372 - C_RC
373 - name: INITENUM
374 args:
375 - B_R
376 - C_R
377 - name: NEXTENUM
378 args:
379 - B_R
380 - C_R
381 - name: INITSET
382 args:
383 - B_R
384 - C_R
385 - name: INITSETI
386 args:
387 - B_R
388 - C_RI
389 - name: INITGET
390 args:
391 - B_R
392 - C_RI
393 - name: INITGETI
394 args:
395 - B_R
396 - C_RI
397 - name: ENDTRY
398 - name: ENDCATCH
399 - name: ENDFIN
400 - name: THROW
401 args:
402 - BC_R
403 - name: INVLHS
404 - name: UNM
405 args:
406 - BC_R
407 - name: UNP
408 args:
409 - BC_R
410 - name: DEBUGGER
411 - name: BREAK
412 args:
413 - BC_I
414 - name: CONTINUE
415 args:
416 - BC_I
417 - name: BNOT
418 args:
419 - BC_R
420 - name: LNOT
421 args:
422 - BC_R
423 - name: INSTOF
424 args:
425 - B_R
426 - C_RC
427 - name: IN
428 args:
429 - B_R
430 - C_RC
431 - name: LABEL
432 args:
433 - BC_I
434 - name: ENDLABEL
435 args:
436 - BC_I
437 - name: EXTRA34
438 - name: EXTRA35
439 - name: EXTRA36
440 - name: EXTRA37
441 - name: EXTRA38
442 - name: EXTRA39
443 - name: EXTRA40
444 - name: EXTRA41
445 - name: EXTRA42
446 - name: EXTRA43
447 - name: EXTRA44
448 - name: EXTRA45
449 - name: EXTRA46
450 - name: EXTRA47
451 - name: EXTRA48
452 - name: EXTRA49
453 - name: EXTRA50
454 - name: EXTRA51
455 - name: EXTRA52
456 - name: EXTRA53
457 - name: EXTRA54
458 - name: EXTRA55
459 - name: EXTRA56
460 - name: EXTRA57
461 - name: EXTRA58
462 - name: EXTRA59
463 - name: EXTRA60
464 - name: EXTRA61
465 - name: EXTRA62
466 - name: EXTRA63
467 - name: EXTRA64
468 - name: EXTRA65
469 - name: EXTRA66
470 - name: EXTRA67
471 - name: EXTRA68
472 - name: EXTRA69
473 - name: EXTRA70
474 - name: EXTRA71
475 - name: EXTRA72
476 - name: EXTRA73
477 - name: EXTRA74
478 - name: EXTRA75
479 - name: EXTRA76
480 - name: EXTRA77
481 - name: EXTRA78
482 - name: EXTRA79
483 - name: EXTRA80
484 - name: EXTRA81
485 - name: EXTRA82
486 - name: EXTRA83
487 - name: EXTRA84
488 - name: EXTRA85
489 - name: EXTRA86
490 - name: EXTRA87
491 - name: EXTRA88
492 - name: EXTRA89
493 - name: EXTRA90
494 - name: EXTRA91
495 - name: EXTRA92
496 - name: EXTRA93
497 - name: EXTRA94
498 - name: EXTRA95
499 - name: EXTRA96
500 - name: EXTRA97
501 - name: EXTRA98
502 - name: EXTRA99
503 - name: EXTRA100
504 - name: EXTRA101
505 - name: EXTRA102
506 - name: EXTRA103
507 - name: EXTRA104
508 - name: EXTRA105
509 - name: EXTRA106
510 - name: EXTRA107
511 - name: EXTRA108
512 - name: EXTRA109
513 - name: EXTRA110
514 - name: EXTRA111
515 - name: EXTRA112
516 - name: EXTRA113
517 - name: EXTRA114
518 - name: EXTRA115
519 - name: EXTRA116
520 - name: EXTRA117
521 - name: EXTRA118
522 - name: EXTRA119
523 - name: EXTRA120
524 - name: EXTRA121
525 - name: EXTRA122
526 - name: EXTRA123
527 - name: EXTRA124
528 - name: EXTRA125
529 - name: EXTRA126
530 - name: EXTRA127
531 - name: EXTRA128
532 - name: EXTRA129
533 - name: EXTRA130
534 - name: EXTRA131
535 - name: EXTRA132
536 - name: EXTRA133
537 - name: EXTRA134
538 - name: EXTRA135
539 - name: EXTRA136
540 - name: EXTRA137
541 - name: EXTRA138
542 - name: EXTRA139
543 - name: EXTRA140
544 - name: EXTRA141
545 - name: EXTRA142
546 - name: EXTRA143
547 - name: EXTRA144
548 - name: EXTRA145
549 - name: EXTRA146
550 - name: EXTRA147
551 - name: EXTRA148
552 - name: EXTRA149
553 - name: EXTRA150
554 - name: EXTRA151
555 - name: EXTRA152
556 - name: EXTRA153
557 - name: EXTRA154
558 - name: EXTRA155
559 - name: EXTRA156
560 - name: EXTRA157
561 - name: EXTRA158
562 - name: EXTRA159
563 - name: EXTRA160
564 - name: EXTRA161
565 - name: EXTRA162
566 - name: EXTRA163
567 - name: EXTRA164
568 - name: EXTRA165
569 - name: EXTRA166
570 - name: EXTRA167
571 - name: EXTRA168
572 - name: EXTRA169
573 - name: EXTRA170
574 - name: EXTRA171
575 - name: EXTRA172
576 - name: EXTRA173
577 - name: EXTRA174
578 - name: EXTRA175
579 - name: EXTRA176
580 - name: EXTRA177
581 - name: EXTRA178
582 - name: EXTRA179
583 - name: EXTRA180
584 - name: EXTRA181
585 - name: EXTRA182
586 - name: EXTRA183
587 - name: EXTRA184
588 - name: EXTRA185
589 - name: EXTRA186
590 - name: EXTRA187
591 - name: EXTRA188
592 - name: EXTRA189
593 - name: EXTRA190
594 - name: EXTRA191
595 - name: EXTRA192
596 - name: EXTRA193
597 - name: EXTRA194
598 - name: EXTRA195
599 - name: EXTRA196
600 - name: EXTRA197
601 - name: EXTRA198
602 - name: EXTRA199
603 - name: EXTRA200
604 - name: EXTRA201
605 - name: EXTRA202
606 - name: EXTRA203
607 - name: EXTRA204
608 - name: EXTRA205
609 - name: EXTRA206
610 - name: EXTRA207
611 - name: EXTRA208
612 - name: EXTRA209
613 - name: EXTRA210
614 - name: EXTRA211
615 - name: EXTRA212
616 - name: EXTRA213
617 - name: EXTRA214
618 - name: EXTRA215
619 - name: EXTRA216
620 - name: EXTRA217
621 - name: EXTRA218
622 - name: EXTRA219
623 - name: EXTRA220
624 - name: EXTRA221
625 - name: EXTRA222
626 - name: EXTRA223
627 - name: EXTRA224
628 - name: EXTRA225
629 - name: EXTRA226
630 - name: EXTRA227
631 - name: EXTRA228
632 - name: EXTRA229
633 - name: EXTRA230
634 - name: EXTRA231
635 - name: EXTRA232
636 - name: EXTRA233
637 - name: EXTRA234
638 - name: EXTRA235
639 - name: EXTRA236
640 - name: EXTRA237
641 - name: EXTRA238
642 - name: EXTRA239
643 - name: EXTRA240
644 - name: EXTRA241
645 - name: EXTRA242
646 - name: EXTRA243
647 - name: EXTRA244
648 - name: EXTRA245
649 - name: EXTRA246
650 - name: EXTRA247
651 - name: EXTRA248
652 - name: EXTRA249
653 - name: EXTRA250
654 - name: EXTRA251
655 - name: EXTRA252
656 - name: EXTRA253
657 - name: EXTRA254
658 - name: EXTRA255