/
insns-def.rb
65 lines (65 loc) · 1.75 KB
/
insns-def.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
TypeProf::INSN_TABLE = {:nop=>[],
:getlocal=>["lindex_t", "rb_num_t"],
:setlocal=>["lindex_t", "rb_num_t"],
:getblockparam=>["lindex_t", "rb_num_t"],
:setblockparam=>["lindex_t", "rb_num_t"],
:getblockparamproxy=>["lindex_t", "rb_num_t"],
:getspecial=>["rb_num_t", "rb_num_t"],
:setspecial=>["rb_num_t"],
:getinstancevariable=>["ID", "IVC"],
:setinstancevariable=>["ID", "IVC"],
:getclassvariable=>["ID"],
:setclassvariable=>["ID"],
:getconstant=>["ID"],
:setconstant=>["ID"],
:getglobal=>["GENTRY"],
:setglobal=>["GENTRY"],
:putnil=>[],
:putself=>[],
:putobject=>["VALUE"],
:putspecialobject=>["rb_num_t"],
:putstring=>["VALUE"],
:concatstrings=>["rb_num_t"],
:tostring=>[],
:objtostring=>[],
:anytostring=>[],
:freezestring=>["VALUE"],
:toregexp=>["rb_num_t", "rb_num_t"],
:intern=>[],
:newarray=>["rb_num_t"],
:newarraykwsplat=>["rb_num_t"],
:duparray=>["VALUE"],
:duphash=>["VALUE"],
:expandarray=>["rb_num_t", "rb_num_t"],
:concatarray=>[],
:concattoarray=>[],
:pushtoarray=>["rb_num_t"],
:splatarray=>["VALUE"],
:newhash=>["rb_num_t"],
:newrange=>["rb_num_t"],
:pop=>[],
:dup=>[],
:dupn=>["rb_num_t"],
:swap=>[],
:reverse=>["rb_num_t"],
:topn=>["rb_num_t"],
:setn=>["rb_num_t"],
:adjuststack=>["rb_num_t"],
:defined=>["rb_num_t", "VALUE", "VALUE"],
:checkmatch=>["rb_num_t"],
:checkkeyword=>["lindex_t", "lindex_t"],
:checktype=>["rb_num_t"],
:defineclass=>["ID", "ISEQ", "rb_num_t"],
:definemethod=>["ID", "ISEQ"],
:definesmethod=>["ID", "ISEQ"],
:send=>["CALL_DATA", "ISEQ"],
:invokesuper=>["CALL_DATA", "ISEQ"],
:invokeblock=>["CALL_DATA"],
:leave=>[],
:throw=>["rb_num_t"],
:jump=>["OFFSET"],
:branchif=>["OFFSET"],
:branchunless=>["OFFSET"],
:branchnil=>["OFFSET"],
:once=>["ISEQ", "ISE"],
:invokebuiltin=>["RB_BUILTIN"]}