ruby-internal 0.7.3 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/ruby-internal-node-dump +1 -1
- data/bin/ruby-internal-obfuscate +1 -1
- data/ext/cached/ruby-1.8.4/internal/method/{method.h → internal_method.h} +12 -0
- data/ext/cached/ruby-1.8.4/internal/module/getcfp.h +13 -0
- data/ext/cached/ruby-1.8.4/internal/node/global_entry.h +94 -0
- data/ext/cached/ruby-1.8.4/internal/node/node_type_descrip.c +41 -41
- data/ext/cached/ruby-1.8.4/internal/node/nodeinfo.c +288 -273
- data/ext/cached/ruby-1.8.4/internal/vm/instruction/insns_info.c +3 -0
- data/ext/cached/ruby-1.8.4/internal/vm/iseq/iseq_load.inc +21 -2
- data/ext/cached/{ruby-1.8.3/internal/method/method.h → ruby-1.8.5/internal/method/internal_method.h} +12 -0
- data/ext/cached/ruby-1.8.5/internal/module/getcfp.h +13 -0
- data/ext/cached/ruby-1.8.5/internal/node/global_entry.h +94 -0
- data/ext/cached/ruby-1.8.5/internal/node/node_type_descrip.c +45 -45
- data/ext/cached/ruby-1.8.5/internal/node/nodeinfo.c +310 -295
- data/ext/cached/ruby-1.8.5/internal/vm/instruction/insns_info.c +3 -0
- data/ext/cached/ruby-1.8.5/internal/vm/iseq/iseq_load.inc +21 -2
- data/ext/cached/{ruby-1.8.5/internal/method/method.h → ruby-1.8.6/internal/method/internal_method.h} +12 -0
- data/ext/cached/ruby-1.8.6/internal/module/getcfp.h +13 -0
- data/ext/cached/ruby-1.8.6/internal/node/global_entry.h +94 -0
- data/ext/cached/ruby-1.8.6/internal/node/node_type_descrip.c +48 -48
- data/ext/cached/ruby-1.8.6/internal/node/nodeinfo.c +323 -308
- data/ext/cached/ruby-1.8.6/internal/vm/instruction/insns_info.c +3 -0
- data/ext/cached/ruby-1.8.6/internal/vm/iseq/iseq_load.inc +21 -2
- data/ext/cached/{ruby-1.8.6/internal/method/method.h → ruby-1.8.7/internal/method/internal_method.h} +12 -0
- data/ext/cached/ruby-1.8.7/internal/module/getcfp.h +13 -0
- data/ext/cached/ruby-1.8.7/internal/node/global_entry.h +98 -0
- data/ext/cached/ruby-1.8.7/internal/node/node_type_descrip.c +42 -42
- data/ext/cached/ruby-1.8.7/internal/node/nodeinfo.c +276 -261
- data/ext/cached/ruby-1.8.7/internal/vm/instruction/insns_info.c +3 -0
- data/ext/cached/ruby-1.8.7/internal/vm/iseq/iseq_load.inc +21 -2
- data/ext/cached/{ruby-1.9.0/internal/method/method.h → ruby-1.9.1/internal/method/internal_method.h} +12 -0
- data/ext/cached/ruby-1.9.1/internal/module/classpath.c +12 -14
- data/ext/cached/ruby-1.9.1/internal/module/getcfp.h +25 -0
- data/ext/cached/ruby-1.9.1/internal/node/global_entry.h +86 -0
- data/ext/cached/ruby-1.9.1/internal/node/node_type_descrip.c +46 -48
- data/ext/cached/ruby-1.9.1/internal/node/nodeinfo.c +311 -412
- data/ext/cached/ruby-1.9.1/internal/vm/instruction/insns_info.c +3 -0
- data/ext/cached/ruby-1.9.1/internal/vm/iseq/iseq_load.inc +28 -6
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/iseq.h +1 -0
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/parse.h +6 -6
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/revision.h +1 -1
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/version.h +6 -5
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/vm_core.h +3 -2
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/vm_insnhelper.h +1 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/binding/block.h +0 -0
- data/ext/cached/{ruby-1.9.1/internal/method/method.h → ruby-1.9.2/internal/method/internal_method.h} +16 -5
- data/ext/cached/ruby-1.9.2/internal/module/classpath.c +40 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/module/classpath.h +0 -0
- data/ext/cached/ruby-1.9.2/internal/module/getcfp.h +25 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/block.h +0 -0
- data/ext/cached/ruby-1.9.2/internal/node/global_entry.h +93 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/node_type_descrip.c +44 -48
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/nodeinfo.c +291 -439
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/nodeinfo.h +0 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/proc/block.h +0 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/tag/tag.h +0 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/vm/instruction/insns_info.c +141 -64
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/vm/instruction/insns_info.h +88 -80
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/vm/iseq/insns_info.inc +77 -70
- data/ext/cached/ruby-1.9.2/internal/vm/iseq/iseq_load.inc +426 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/debug.h +1 -1
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/dln.h +3 -3
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/encdb.h +18 -2
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/eval_intern.h +39 -28
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/gc.h +7 -5
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/id.h +170 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/iseq.h +20 -10
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/method.h +103 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/node.h +14 -47
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/parse.h +31 -148
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/regenc.h +7 -3
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/regint.h +16 -17
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/regparse.h +4 -1
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/revision.h +1 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/thread_pthread.h +4 -1
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/thread_win32.h +1 -1
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/timev.h +21 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/transcode_data.h +20 -10
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/transdb.h +179 -0
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/version.h +55 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_core.h +127 -84
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_exec.h +4 -7
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_insnhelper.h +53 -36
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_opts.h +1 -1
- data/ext/cached/ruby-1.9.3/internal/binding/block.h +12 -0
- data/ext/cached/ruby-1.9.3/internal/method/internal_method.h +32 -0
- data/ext/cached/ruby-1.9.3/internal/module/classpath.c +40 -0
- data/ext/cached/{ruby-1.8.0 → ruby-1.9.3}/internal/module/classpath.h +5 -2
- data/ext/cached/ruby-1.9.3/internal/module/getcfp.h +25 -0
- data/ext/cached/ruby-1.9.3/internal/node/block.h +12 -0
- data/ext/cached/ruby-1.9.3/internal/node/global_entry.h +93 -0
- data/ext/cached/{ruby-1.8.3 → ruby-1.9.3}/internal/node/node_type_descrip.c +48 -57
- data/ext/cached/{ruby-1.6.8 → ruby-1.9.3}/internal/node/nodeinfo.c +589 -740
- data/ext/cached/{ruby-1.8.0 → ruby-1.9.3}/internal/node/nodeinfo.h +4 -3
- data/ext/cached/ruby-1.9.3/internal/proc/block.h +12 -0
- data/ext/cached/ruby-1.9.3/internal/tag/tag.h +6 -0
- data/ext/cached/ruby-1.9.3/internal/vm/instruction/insns_info.c +6013 -0
- data/ext/cached/ruby-1.9.3/internal/vm/instruction/insns_info.h +899 -0
- data/ext/cached/ruby-1.9.3/internal/vm/iseq/insns_info.inc +707 -0
- data/ext/cached/ruby-1.9.3/internal/vm/iseq/iseq_load.inc +423 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/addr2line.h +21 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/atomic.h +56 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/constant.h +34 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/debug.h +41 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/dln.h +50 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/encdb.h +167 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/eval_intern.h +234 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/gc.h +98 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/id.h +175 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/internal.h +232 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/iseq.h +125 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/method.h +105 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/node.h +503 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/parse.h +186 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/regenc.h +219 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/regint.h +850 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/regparse.h +362 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/revision.h +1 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/thread_pthread.h +51 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/thread_win32.h +40 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/timev.h +21 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/transcode_data.h +117 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/transdb.h +189 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/version.h +52 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_core.h +756 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_exec.h +184 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_insnhelper.h +220 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_opts.h +51 -0
- data/ext/internal/binding/block.h +20 -0
- data/ext/internal/method/internal_method.h +5 -38
- data/ext/internal/method/internal_method.h.rpp +0 -7
- data/ext/internal/method/method.c +52 -32
- data/ext/internal/module/classpath.c +18 -13
- data/ext/internal/module/classpath.h +3 -3
- data/ext/internal/module/extconf.rb +3 -2
- data/ext/internal/module/getcfp.h +13 -0
- data/ext/internal/module/getcfp.h.rpp +44 -0
- data/ext/internal/module/module.c +58 -21
- data/ext/internal/node/block.h +20 -0
- data/ext/internal/node/extconf.rb +2 -0
- data/ext/internal/node/global_entry.h +69 -13
- data/ext/internal/node/global_entry.h.rpp +11 -2
- data/ext/internal/node/node.c +30 -3
- data/ext/internal/node/node_type_descrip.c +47 -38
- data/ext/internal/node/nodeinfo.c +622 -306
- data/ext/internal/node/nodeinfo.h +1 -4
- data/ext/internal/proc/block.h +20 -0
- data/ext/internal/tag/tag.h +10 -0
- data/ext/internal/thread/thread.c +9 -3
- data/ext/internal/vm/extconf.rb +1 -0
- data/ext/internal/vm/instruction/insns_info.c +3 -5974
- data/ext/internal/vm/instruction/insns_info.h +0 -878
- data/ext/internal/vm/iseq/extconf.rb +1 -0
- data/ext/internal/vm/iseq/iseq.c +38 -4
- data/ext/internal/vm/iseq/iseq_load.inc.rpp +23 -5
- data/ext/internal/vm/vm.c +28 -0
- data/lib/internal/classtree.rb +28 -0
- data/lib/internal/debug.rb +10 -2
- data/lib/internal/method/as_code.rb +25 -0
- data/lib/internal/method/as_expression.rb +2 -3
- data/lib/internal/method/origin.rb +29 -0
- data/lib/internal/method/signature.rb +5 -300
- data/lib/internal/method/signature/argument.rb +102 -0
- data/lib/internal/method/signature/iseq.rb +52 -0
- data/lib/internal/method/signature/node.rb +160 -0
- data/lib/internal/method/signature/signature.rb +23 -0
- data/lib/internal/proc/as_code.rb +2 -0
- data/lib/internal/proc/as_expression.rb +2 -0
- data/lib/internal/vm/bytedecoder.rb +5 -5
- data/lib/internal/vm/iseq/as_code.rb +2 -2
- data/lib/internal/vm/iseq/as_expression.rb +2 -2
- data/test/test_dump_method.rb +1 -1
- data/test/test_method.rb +21 -3
- data/test/test_node.rb +20 -4
- metadata +152 -155
- data/ext/cached/ruby-1.6.8/internal/binding/block.h +0 -35
- data/ext/cached/ruby-1.6.8/internal/method/method.h +0 -19
- data/ext/cached/ruby-1.6.8/internal/module/classpath.c +0 -3
- data/ext/cached/ruby-1.6.8/internal/module/classpath.h +0 -8
- data/ext/cached/ruby-1.6.8/internal/node/block.h +0 -35
- data/ext/cached/ruby-1.6.8/internal/node/global_entry.h +0 -15
- data/ext/cached/ruby-1.6.8/internal/node/node_type_descrip.c +0 -149
- data/ext/cached/ruby-1.6.8/internal/node/nodeinfo.h +0 -69
- data/ext/cached/ruby-1.6.8/internal/proc/block.h +0 -35
- data/ext/cached/ruby-1.6.8/internal/tag/tag.h +0 -15
- data/ext/cached/ruby-1.6.8/internal/vm/instruction/insns_info.c +0 -39
- data/ext/cached/ruby-1.6.8/internal/vm/instruction/insns_info.h +0 -21
- data/ext/cached/ruby-1.6.8/internal/vm/iseq/insns_info.inc +0 -12
- data/ext/cached/ruby-1.6.8/internal/vm/iseq/iseq_load.inc +0 -9
- data/ext/cached/ruby-1.8.0/internal/binding/block.h +0 -37
- data/ext/cached/ruby-1.8.0/internal/method/method.h +0 -19
- data/ext/cached/ruby-1.8.0/internal/module/classpath.c +0 -27
- data/ext/cached/ruby-1.8.0/internal/node/block.h +0 -37
- data/ext/cached/ruby-1.8.0/internal/node/global_entry.h +0 -10
- data/ext/cached/ruby-1.8.0/internal/node/node_type_descrip.c +0 -155
- data/ext/cached/ruby-1.8.0/internal/node/nodeinfo.c +0 -5744
- data/ext/cached/ruby-1.8.0/internal/proc/block.h +0 -37
- data/ext/cached/ruby-1.8.0/internal/tag/tag.h +0 -15
- data/ext/cached/ruby-1.8.0/internal/vm/instruction/insns_info.c +0 -39
- data/ext/cached/ruby-1.8.0/internal/vm/instruction/insns_info.h +0 -21
- data/ext/cached/ruby-1.8.0/internal/vm/iseq/insns_info.inc +0 -12
- data/ext/cached/ruby-1.8.0/internal/vm/iseq/iseq_load.inc +0 -9
- data/ext/cached/ruby-1.8.1/internal/binding/block.h +0 -31
- data/ext/cached/ruby-1.8.1/internal/method/method.h +0 -19
- data/ext/cached/ruby-1.8.1/internal/module/classpath.c +0 -27
- data/ext/cached/ruby-1.8.1/internal/module/classpath.h +0 -14
- data/ext/cached/ruby-1.8.1/internal/node/block.h +0 -31
- data/ext/cached/ruby-1.8.1/internal/node/global_entry.h +0 -10
- data/ext/cached/ruby-1.8.1/internal/node/node_type_descrip.c +0 -154
- data/ext/cached/ruby-1.8.1/internal/node/nodeinfo.c +0 -5736
- data/ext/cached/ruby-1.8.1/internal/node/nodeinfo.h +0 -69
- data/ext/cached/ruby-1.8.1/internal/proc/block.h +0 -31
- data/ext/cached/ruby-1.8.1/internal/tag/tag.h +0 -16
- data/ext/cached/ruby-1.8.1/internal/vm/instruction/insns_info.c +0 -39
- data/ext/cached/ruby-1.8.1/internal/vm/instruction/insns_info.h +0 -21
- data/ext/cached/ruby-1.8.1/internal/vm/iseq/insns_info.inc +0 -12
- data/ext/cached/ruby-1.8.1/internal/vm/iseq/iseq_load.inc +0 -9
- data/ext/cached/ruby-1.8.2/internal/binding/block.h +0 -32
- data/ext/cached/ruby-1.8.2/internal/method/method.h +0 -19
- data/ext/cached/ruby-1.8.2/internal/module/classpath.c +0 -45
- data/ext/cached/ruby-1.8.2/internal/module/classpath.h +0 -17
- data/ext/cached/ruby-1.8.2/internal/node/block.h +0 -32
- data/ext/cached/ruby-1.8.2/internal/node/global_entry.h +0 -10
- data/ext/cached/ruby-1.8.2/internal/node/node_type_descrip.c +0 -154
- data/ext/cached/ruby-1.8.2/internal/node/nodeinfo.c +0 -5736
- data/ext/cached/ruby-1.8.2/internal/node/nodeinfo.h +0 -69
- data/ext/cached/ruby-1.8.2/internal/proc/block.h +0 -32
- data/ext/cached/ruby-1.8.2/internal/tag/tag.h +0 -16
- data/ext/cached/ruby-1.8.2/internal/vm/instruction/insns_info.c +0 -39
- data/ext/cached/ruby-1.8.2/internal/vm/instruction/insns_info.h +0 -21
- data/ext/cached/ruby-1.8.2/internal/vm/iseq/insns_info.inc +0 -12
- data/ext/cached/ruby-1.8.2/internal/vm/iseq/iseq_load.inc +0 -9
- data/ext/cached/ruby-1.8.3/internal/binding/block.h +0 -32
- data/ext/cached/ruby-1.8.3/internal/module/classpath.c +0 -45
- data/ext/cached/ruby-1.8.3/internal/module/classpath.h +0 -17
- data/ext/cached/ruby-1.8.3/internal/node/block.h +0 -32
- data/ext/cached/ruby-1.8.3/internal/node/global_entry.h +0 -10
- data/ext/cached/ruby-1.8.3/internal/node/nodeinfo.c +0 -5736
- data/ext/cached/ruby-1.8.3/internal/node/nodeinfo.h +0 -69
- data/ext/cached/ruby-1.8.3/internal/proc/block.h +0 -32
- data/ext/cached/ruby-1.8.3/internal/tag/tag.h +0 -16
- data/ext/cached/ruby-1.8.3/internal/vm/instruction/insns_info.c +0 -39
- data/ext/cached/ruby-1.8.3/internal/vm/instruction/insns_info.h +0 -21
- data/ext/cached/ruby-1.8.3/internal/vm/iseq/insns_info.inc +0 -12
- data/ext/cached/ruby-1.8.3/internal/vm/iseq/iseq_load.inc +0 -9
- data/ext/cached/ruby-1.8.7/internal/method/method.h +0 -20
- data/ext/cached/ruby-1.9.0/internal/module/classpath.c +0 -42
- data/ext/cached/ruby-1.9.0/internal/node/global_entry.h +0 -10
- data/ext/cached/ruby-1.9.0/internal/vm/iseq/iseq_load.inc +0 -13
- data/ext/cached/ruby-1.9.0/internal/yarv-headers/id.h +0 -83
- data/ext/cached/ruby-1.9.0/internal/yarv-headers/revision.h +0 -1
- data/ext/cached/ruby-1.9.0/internal/yarv-headers/transdb.h +0 -67
- data/ext/cached/ruby-1.9.0/internal/yarv-headers/version.h +0 -57
- data/ext/internal/module/cfp.h +0 -13
@@ -13,7 +13,7 @@
|
|
13
13
|
|
14
14
|
/** -*-c-*-
|
15
15
|
This file contains YARV instructions list.
|
16
|
-
|
16
|
+
|
17
17
|
----
|
18
18
|
This file is auto generated by insns2vm.rb
|
19
19
|
DO NOT TOUCH!
|
@@ -171,47 +171,48 @@ enum ruby_vminsn_type {
|
|
171
171
|
|
172
172
|
BIN(opt_length) = 71,
|
173
173
|
|
174
|
-
BIN(
|
174
|
+
BIN(opt_size) = 72,
|
175
175
|
|
176
|
-
BIN(
|
176
|
+
BIN(opt_succ) = 73,
|
177
177
|
|
178
|
-
BIN(
|
178
|
+
BIN(opt_not) = 74,
|
179
179
|
|
180
|
-
BIN(
|
180
|
+
BIN(opt_regexpmatch1) = 75,
|
181
181
|
|
182
|
-
BIN(
|
182
|
+
BIN(opt_regexpmatch2) = 76,
|
183
183
|
|
184
|
-
BIN(
|
184
|
+
BIN(opt_call_c_function) = 77,
|
185
185
|
|
186
|
-
BIN(
|
186
|
+
BIN(bitblt) = 78,
|
187
187
|
|
188
|
-
|
188
|
+
BIN(answer) = 79,
|
189
189
|
|
190
|
-
|
190
|
+
VM_INSTRUCTION_SIZE = 80
|
191
|
+
};
|
191
192
|
|
192
193
|
/** -*-c-*-
|
193
194
|
This file contains instruction information for yarv instruction sequence.
|
194
|
-
|
195
|
+
|
195
196
|
----
|
196
197
|
This file is auto generated by insns2vm.rb
|
197
198
|
DO NOT TOUCH!
|
198
|
-
|
199
|
+
|
199
200
|
If you want to fix something, you must edit 'template/insns_info.inc.tmpl'
|
200
201
|
or insns2vm.rb
|
201
202
|
*/
|
202
203
|
|
203
|
-
#define TS_ISEQ 'S'
|
204
204
|
#define TS_OFFSET 'O'
|
205
|
-
#define
|
205
|
+
#define TS_NUM 'N'
|
206
|
+
#define TS_LINDEX 'L'
|
206
207
|
#define TS_DINDEX 'D'
|
207
|
-
#define
|
208
|
-
#define TS_CDHASH 'H'
|
209
|
-
#define TS_IC 'C'
|
208
|
+
#define TS_VALUE 'V'
|
210
209
|
#define TS_ID 'I'
|
211
|
-
#define
|
210
|
+
#define TS_GENTRY 'G'
|
211
|
+
#define TS_IC 'C'
|
212
|
+
#define TS_CDHASH 'H'
|
213
|
+
#define TS_ISEQ 'S'
|
214
|
+
#define TS_VARIABLE '.'
|
212
215
|
#define TS_FUNCPTR 'F'
|
213
|
-
#define TS_VALUE 'V'
|
214
|
-
#define TS_LINDEX 'L'
|
215
216
|
|
216
217
|
static const char *const insn_name_info[] = {
|
217
218
|
"nop",
|
@@ -286,6 +287,7 @@ static const char *const insn_name_info[] = {
|
|
286
287
|
"opt_aref",
|
287
288
|
"opt_aset",
|
288
289
|
"opt_length",
|
290
|
+
"opt_size",
|
289
291
|
"opt_succ",
|
290
292
|
"opt_not",
|
291
293
|
"opt_regexpmatch1",
|
@@ -304,8 +306,8 @@ static const char *const insn_operand_info[] = {
|
|
304
306
|
"V",
|
305
307
|
"DN",
|
306
308
|
"DN",
|
307
|
-
"
|
308
|
-
"
|
309
|
+
"IC",
|
310
|
+
"IC",
|
309
311
|
"I",
|
310
312
|
"I",
|
311
313
|
"I",
|
@@ -349,27 +351,28 @@ static const char *const insn_operand_info[] = {
|
|
349
351
|
"O",
|
350
352
|
"O",
|
351
353
|
"O",
|
352
|
-
"
|
353
|
-
"
|
354
|
-
"
|
354
|
+
"OC",
|
355
|
+
"OC",
|
356
|
+
"C",
|
355
357
|
"HO",
|
356
358
|
"",
|
357
|
-
"",
|
358
|
-
"",
|
359
|
-
"",
|
360
|
-
"",
|
361
|
-
"",
|
359
|
+
"C",
|
360
|
+
"C",
|
361
|
+
"C",
|
362
|
+
"C",
|
363
|
+
"C",
|
362
364
|
"C",
|
363
365
|
"CC",
|
364
|
-
"",
|
365
|
-
"",
|
366
|
-
"",
|
367
|
-
"",
|
368
|
-
"",
|
369
|
-
"",
|
370
|
-
"",
|
371
|
-
"",
|
372
|
-
"",
|
366
|
+
"C",
|
367
|
+
"C",
|
368
|
+
"C",
|
369
|
+
"C",
|
370
|
+
"C",
|
371
|
+
"C",
|
372
|
+
"C",
|
373
|
+
"C",
|
374
|
+
"C",
|
375
|
+
"C",
|
373
376
|
"C",
|
374
377
|
"V",
|
375
378
|
"",
|
@@ -387,8 +390,8 @@ static const int insn_len_info[] = {
|
|
387
390
|
2,
|
388
391
|
3,
|
389
392
|
3,
|
390
|
-
|
391
|
-
|
393
|
+
3,
|
394
|
+
3,
|
392
395
|
2,
|
393
396
|
2,
|
394
397
|
2,
|
@@ -437,22 +440,23 @@ static const int insn_len_info[] = {
|
|
437
440
|
2,
|
438
441
|
3,
|
439
442
|
1,
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
443
|
+
2,
|
444
|
+
2,
|
445
|
+
2,
|
446
|
+
2,
|
447
|
+
2,
|
445
448
|
2,
|
446
449
|
3,
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
450
|
+
2,
|
451
|
+
2,
|
452
|
+
2,
|
453
|
+
2,
|
454
|
+
2,
|
455
|
+
2,
|
456
|
+
2,
|
457
|
+
2,
|
458
|
+
2,
|
459
|
+
2,
|
456
460
|
2,
|
457
461
|
2,
|
458
462
|
1,
|
@@ -540,6 +544,7 @@ static const int insn_stack_push_num_info[] = {
|
|
540
544
|
1,
|
541
545
|
1,
|
542
546
|
1,
|
547
|
+
1,
|
543
548
|
0,
|
544
549
|
1,
|
545
550
|
1,
|
@@ -617,7 +622,7 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
617
622
|
}
|
618
623
|
case BIN(concatstrings):{
|
619
624
|
int inc = 0;
|
620
|
-
|
625
|
+
int num = FIX2INT(opes[0]);
|
621
626
|
inc += 1 - num;;
|
622
627
|
return depth + inc;
|
623
628
|
}
|
@@ -626,13 +631,13 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
626
631
|
}
|
627
632
|
case BIN(toregexp):{
|
628
633
|
int inc = 0;
|
629
|
-
|
634
|
+
int cnt = FIX2INT(opes[1]);
|
630
635
|
inc += 1 - cnt;;
|
631
636
|
return depth + inc;
|
632
637
|
}
|
633
638
|
case BIN(newarray):{
|
634
639
|
int inc = 0;
|
635
|
-
|
640
|
+
int num = FIX2INT(opes[0]);
|
636
641
|
inc += 1 - num;;
|
637
642
|
return depth + inc;
|
638
643
|
}
|
@@ -641,8 +646,8 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
641
646
|
}
|
642
647
|
case BIN(expandarray):{
|
643
648
|
int inc = 0;
|
644
|
-
|
645
|
-
|
649
|
+
int num = FIX2INT(opes[0]);
|
650
|
+
int flag = FIX2INT(opes[1]);
|
646
651
|
inc += num - 1 + (flag & 1 ? 1 : 0);;
|
647
652
|
return depth + inc;
|
648
653
|
}
|
@@ -657,7 +662,7 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
657
662
|
}
|
658
663
|
case BIN(newhash):{
|
659
664
|
int inc = 0;
|
660
|
-
|
665
|
+
int num = FIX2INT(opes[0]);
|
661
666
|
inc += 1 - num;;
|
662
667
|
return depth + inc;
|
663
668
|
}
|
@@ -672,7 +677,7 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
672
677
|
}
|
673
678
|
case BIN(dupn):{
|
674
679
|
int inc = 0;
|
675
|
-
|
680
|
+
int n = FIX2INT(opes[0]);
|
676
681
|
inc += n;;
|
677
682
|
return depth + inc;
|
678
683
|
}
|
@@ -696,7 +701,7 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
696
701
|
}
|
697
702
|
case BIN(adjuststack):{
|
698
703
|
int inc = 0;
|
699
|
-
|
704
|
+
int n = FIX2INT(opes[0]);
|
700
705
|
inc -= n;
|
701
706
|
return depth + inc;
|
702
707
|
}
|
@@ -711,21 +716,21 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
711
716
|
}
|
712
717
|
case BIN(send):{
|
713
718
|
int inc = 0;
|
714
|
-
|
715
|
-
|
716
|
-
inc += - (op_argc + ((op_flag & VM_CALL_ARGS_BLOCKARG_BIT) ? 1 : 0));;
|
719
|
+
int op_argc = FIX2INT(opes[1]);
|
720
|
+
int op_flag = FIX2INT(opes[3]);
|
721
|
+
inc += - (int)(op_argc + ((op_flag & VM_CALL_ARGS_BLOCKARG_BIT) ? 1 : 0));;
|
717
722
|
return depth + inc;
|
718
723
|
}
|
719
724
|
case BIN(invokesuper):{
|
720
725
|
int inc = 0;
|
721
|
-
|
722
|
-
|
723
|
-
inc += - (op_argc + ((op_flag & VM_CALL_ARGS_BLOCKARG_BIT) ? 1 : 0));;
|
726
|
+
int op_argc = FIX2INT(opes[0]);
|
727
|
+
int op_flag = FIX2INT(opes[2]);
|
728
|
+
inc += - (int)(op_argc + ((op_flag & VM_CALL_ARGS_BLOCKARG_BIT) ? 1 : 0));;
|
724
729
|
return depth + inc;
|
725
730
|
}
|
726
731
|
case BIN(invokeblock):{
|
727
732
|
int inc = 0;
|
728
|
-
|
733
|
+
int num = FIX2INT(opes[0]);
|
729
734
|
inc += 1 - num;;
|
730
735
|
return depth + inc;
|
731
736
|
}
|
@@ -809,6 +814,9 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
809
814
|
case BIN(opt_length):{
|
810
815
|
return depth + 0;
|
811
816
|
}
|
817
|
+
case BIN(opt_size):{
|
818
|
+
return depth + 0;
|
819
|
+
}
|
812
820
|
case BIN(opt_succ):{
|
813
821
|
return depth + 0;
|
814
822
|
}
|
@@ -841,29 +849,29 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
841
849
|
/* some utilities */
|
842
850
|
|
843
851
|
static int
|
844
|
-
insn_len(
|
852
|
+
insn_len(VALUE insn)
|
845
853
|
{
|
846
|
-
return insn_len_info[insn];
|
854
|
+
return insn_len_info[(int)insn];
|
847
855
|
}
|
848
856
|
|
849
857
|
static const char *
|
850
|
-
insn_name(
|
858
|
+
insn_name(VALUE insn)
|
851
859
|
{
|
852
|
-
return insn_name_info[insn];
|
860
|
+
return insn_name_info[(int)insn];
|
853
861
|
}
|
854
862
|
|
855
863
|
static const char *
|
856
|
-
insn_op_types(
|
864
|
+
insn_op_types(VALUE insn)
|
857
865
|
{
|
858
|
-
return insn_operand_info[insn];
|
866
|
+
return insn_operand_info[(int)insn];
|
859
867
|
}
|
860
868
|
|
861
869
|
static int
|
862
|
-
insn_op_type(
|
870
|
+
insn_op_type(VALUE insn, long pos)
|
863
871
|
{
|
864
872
|
int len = insn_len(insn) - 1;
|
865
873
|
if(pos < len){
|
866
|
-
return insn_operand_info[insn][pos];
|
874
|
+
return insn_operand_info[(int)insn][pos];
|
867
875
|
}
|
868
876
|
else{
|
869
877
|
return 0;
|
@@ -872,9 +880,9 @@ insn_op_type(int insn, int pos)
|
|
872
880
|
|
873
881
|
#ifdef USE_INSN_RET_NUM
|
874
882
|
static int
|
875
|
-
insn_ret_num(
|
883
|
+
insn_ret_num(VALUE insn)
|
876
884
|
{
|
877
|
-
return insn_stack_push_num_info[insn];
|
885
|
+
return insn_stack_push_num_info[(int)insn];
|
878
886
|
}
|
879
887
|
#endif
|
880
888
|
void
|
@@ -9,27 +9,27 @@
|
|
9
9
|
|
10
10
|
/** -*-c-*-
|
11
11
|
This file contains instruction information for yarv instruction sequence.
|
12
|
-
|
12
|
+
|
13
13
|
----
|
14
14
|
This file is auto generated by insns2vm.rb
|
15
15
|
DO NOT TOUCH!
|
16
|
-
|
16
|
+
|
17
17
|
If you want to fix something, you must edit 'template/insns_info.inc.tmpl'
|
18
18
|
or insns2vm.rb
|
19
19
|
*/
|
20
20
|
|
21
|
-
#define TS_ISEQ 'S'
|
22
21
|
#define TS_OFFSET 'O'
|
23
|
-
#define
|
22
|
+
#define TS_NUM 'N'
|
23
|
+
#define TS_LINDEX 'L'
|
24
24
|
#define TS_DINDEX 'D'
|
25
|
-
#define
|
26
|
-
#define TS_CDHASH 'H'
|
27
|
-
#define TS_IC 'C'
|
25
|
+
#define TS_VALUE 'V'
|
28
26
|
#define TS_ID 'I'
|
29
|
-
#define
|
27
|
+
#define TS_GENTRY 'G'
|
28
|
+
#define TS_IC 'C'
|
29
|
+
#define TS_CDHASH 'H'
|
30
|
+
#define TS_ISEQ 'S'
|
31
|
+
#define TS_VARIABLE '.'
|
30
32
|
#define TS_FUNCPTR 'F'
|
31
|
-
#define TS_VALUE 'V'
|
32
|
-
#define TS_LINDEX 'L'
|
33
33
|
|
34
34
|
static const char *const insn_name_info[] = {
|
35
35
|
"nop",
|
@@ -104,6 +104,7 @@ static const char *const insn_name_info[] = {
|
|
104
104
|
"opt_aref",
|
105
105
|
"opt_aset",
|
106
106
|
"opt_length",
|
107
|
+
"opt_size",
|
107
108
|
"opt_succ",
|
108
109
|
"opt_not",
|
109
110
|
"opt_regexpmatch1",
|
@@ -122,8 +123,8 @@ static const char *const insn_operand_info[] = {
|
|
122
123
|
"V",
|
123
124
|
"DN",
|
124
125
|
"DN",
|
125
|
-
"
|
126
|
-
"
|
126
|
+
"IC",
|
127
|
+
"IC",
|
127
128
|
"I",
|
128
129
|
"I",
|
129
130
|
"I",
|
@@ -167,27 +168,28 @@ static const char *const insn_operand_info[] = {
|
|
167
168
|
"O",
|
168
169
|
"O",
|
169
170
|
"O",
|
170
|
-
"
|
171
|
-
"
|
172
|
-
"
|
171
|
+
"OC",
|
172
|
+
"OC",
|
173
|
+
"C",
|
173
174
|
"HO",
|
174
175
|
"",
|
175
|
-
"",
|
176
|
-
"",
|
177
|
-
"",
|
178
|
-
"",
|
179
|
-
"",
|
176
|
+
"C",
|
177
|
+
"C",
|
178
|
+
"C",
|
179
|
+
"C",
|
180
|
+
"C",
|
180
181
|
"C",
|
181
182
|
"CC",
|
182
|
-
"",
|
183
|
-
"",
|
184
|
-
"",
|
185
|
-
"",
|
186
|
-
"",
|
187
|
-
"",
|
188
|
-
"",
|
189
|
-
"",
|
190
|
-
"",
|
183
|
+
"C",
|
184
|
+
"C",
|
185
|
+
"C",
|
186
|
+
"C",
|
187
|
+
"C",
|
188
|
+
"C",
|
189
|
+
"C",
|
190
|
+
"C",
|
191
|
+
"C",
|
192
|
+
"C",
|
191
193
|
"C",
|
192
194
|
"V",
|
193
195
|
"",
|
@@ -205,8 +207,8 @@ static const int insn_len_info[] = {
|
|
205
207
|
2,
|
206
208
|
3,
|
207
209
|
3,
|
208
|
-
|
209
|
-
|
210
|
+
3,
|
211
|
+
3,
|
210
212
|
2,
|
211
213
|
2,
|
212
214
|
2,
|
@@ -255,22 +257,23 @@ static const int insn_len_info[] = {
|
|
255
257
|
2,
|
256
258
|
3,
|
257
259
|
1,
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
260
|
+
2,
|
261
|
+
2,
|
262
|
+
2,
|
263
|
+
2,
|
264
|
+
2,
|
263
265
|
2,
|
264
266
|
3,
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
267
|
+
2,
|
268
|
+
2,
|
269
|
+
2,
|
270
|
+
2,
|
271
|
+
2,
|
272
|
+
2,
|
273
|
+
2,
|
274
|
+
2,
|
275
|
+
2,
|
276
|
+
2,
|
274
277
|
2,
|
275
278
|
2,
|
276
279
|
1,
|
@@ -358,6 +361,7 @@ static const int insn_stack_push_num_info[] = {
|
|
358
361
|
1,
|
359
362
|
1,
|
360
363
|
1,
|
364
|
+
1,
|
361
365
|
0,
|
362
366
|
1,
|
363
367
|
1,
|
@@ -435,7 +439,7 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
435
439
|
}
|
436
440
|
case BIN(concatstrings):{
|
437
441
|
int inc = 0;
|
438
|
-
|
442
|
+
int num = FIX2INT(opes[0]);
|
439
443
|
inc += 1 - num;;
|
440
444
|
return depth + inc;
|
441
445
|
}
|
@@ -444,13 +448,13 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
444
448
|
}
|
445
449
|
case BIN(toregexp):{
|
446
450
|
int inc = 0;
|
447
|
-
|
451
|
+
int cnt = FIX2INT(opes[1]);
|
448
452
|
inc += 1 - cnt;;
|
449
453
|
return depth + inc;
|
450
454
|
}
|
451
455
|
case BIN(newarray):{
|
452
456
|
int inc = 0;
|
453
|
-
|
457
|
+
int num = FIX2INT(opes[0]);
|
454
458
|
inc += 1 - num;;
|
455
459
|
return depth + inc;
|
456
460
|
}
|
@@ -459,8 +463,8 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
459
463
|
}
|
460
464
|
case BIN(expandarray):{
|
461
465
|
int inc = 0;
|
462
|
-
|
463
|
-
|
466
|
+
int num = FIX2INT(opes[0]);
|
467
|
+
int flag = FIX2INT(opes[1]);
|
464
468
|
inc += num - 1 + (flag & 1 ? 1 : 0);;
|
465
469
|
return depth + inc;
|
466
470
|
}
|
@@ -475,7 +479,7 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
475
479
|
}
|
476
480
|
case BIN(newhash):{
|
477
481
|
int inc = 0;
|
478
|
-
|
482
|
+
int num = FIX2INT(opes[0]);
|
479
483
|
inc += 1 - num;;
|
480
484
|
return depth + inc;
|
481
485
|
}
|
@@ -490,7 +494,7 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
490
494
|
}
|
491
495
|
case BIN(dupn):{
|
492
496
|
int inc = 0;
|
493
|
-
|
497
|
+
int n = FIX2INT(opes[0]);
|
494
498
|
inc += n;;
|
495
499
|
return depth + inc;
|
496
500
|
}
|
@@ -514,7 +518,7 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
514
518
|
}
|
515
519
|
case BIN(adjuststack):{
|
516
520
|
int inc = 0;
|
517
|
-
|
521
|
+
int n = FIX2INT(opes[0]);
|
518
522
|
inc -= n;
|
519
523
|
return depth + inc;
|
520
524
|
}
|
@@ -529,21 +533,21 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
529
533
|
}
|
530
534
|
case BIN(send):{
|
531
535
|
int inc = 0;
|
532
|
-
|
533
|
-
|
534
|
-
inc += - (op_argc + ((op_flag & VM_CALL_ARGS_BLOCKARG_BIT) ? 1 : 0));;
|
536
|
+
int op_argc = FIX2INT(opes[1]);
|
537
|
+
int op_flag = FIX2INT(opes[3]);
|
538
|
+
inc += - (int)(op_argc + ((op_flag & VM_CALL_ARGS_BLOCKARG_BIT) ? 1 : 0));;
|
535
539
|
return depth + inc;
|
536
540
|
}
|
537
541
|
case BIN(invokesuper):{
|
538
542
|
int inc = 0;
|
539
|
-
|
540
|
-
|
541
|
-
inc += - (op_argc + ((op_flag & VM_CALL_ARGS_BLOCKARG_BIT) ? 1 : 0));;
|
543
|
+
int op_argc = FIX2INT(opes[0]);
|
544
|
+
int op_flag = FIX2INT(opes[2]);
|
545
|
+
inc += - (int)(op_argc + ((op_flag & VM_CALL_ARGS_BLOCKARG_BIT) ? 1 : 0));;
|
542
546
|
return depth + inc;
|
543
547
|
}
|
544
548
|
case BIN(invokeblock):{
|
545
549
|
int inc = 0;
|
546
|
-
|
550
|
+
int num = FIX2INT(opes[0]);
|
547
551
|
inc += 1 - num;;
|
548
552
|
return depth + inc;
|
549
553
|
}
|
@@ -627,6 +631,9 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
627
631
|
case BIN(opt_length):{
|
628
632
|
return depth + 0;
|
629
633
|
}
|
634
|
+
case BIN(opt_size):{
|
635
|
+
return depth + 0;
|
636
|
+
}
|
630
637
|
case BIN(opt_succ):{
|
631
638
|
return depth + 0;
|
632
639
|
}
|
@@ -659,29 +666,29 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
659
666
|
/* some utilities */
|
660
667
|
|
661
668
|
static int
|
662
|
-
insn_len(
|
669
|
+
insn_len(VALUE insn)
|
663
670
|
{
|
664
|
-
return insn_len_info[insn];
|
671
|
+
return insn_len_info[(int)insn];
|
665
672
|
}
|
666
673
|
|
667
674
|
static const char *
|
668
|
-
insn_name(
|
675
|
+
insn_name(VALUE insn)
|
669
676
|
{
|
670
|
-
return insn_name_info[insn];
|
677
|
+
return insn_name_info[(int)insn];
|
671
678
|
}
|
672
679
|
|
673
680
|
static const char *
|
674
|
-
insn_op_types(
|
681
|
+
insn_op_types(VALUE insn)
|
675
682
|
{
|
676
|
-
return insn_operand_info[insn];
|
683
|
+
return insn_operand_info[(int)insn];
|
677
684
|
}
|
678
685
|
|
679
686
|
static int
|
680
|
-
insn_op_type(
|
687
|
+
insn_op_type(VALUE insn, long pos)
|
681
688
|
{
|
682
689
|
int len = insn_len(insn) - 1;
|
683
690
|
if(pos < len){
|
684
|
-
return insn_operand_info[insn][pos];
|
691
|
+
return insn_operand_info[(int)insn][pos];
|
685
692
|
}
|
686
693
|
else{
|
687
694
|
return 0;
|
@@ -690,9 +697,9 @@ insn_op_type(int insn, int pos)
|
|
690
697
|
|
691
698
|
#ifdef USE_INSN_RET_NUM
|
692
699
|
static int
|
693
|
-
insn_ret_num(
|
700
|
+
insn_ret_num(VALUE insn)
|
694
701
|
{
|
695
|
-
return insn_stack_push_num_info[insn];
|
702
|
+
return insn_stack_push_num_info[(int)insn];
|
696
703
|
}
|
697
704
|
#endif
|
698
705
|
|