debase-ruby_core_source 3.2.2 → 3.3.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/addr2line.h +3 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ccan/list/list.h +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/dln.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/eval_intern.h +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/insns.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/insns_info.inc +280 -198
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/array.h +8 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/bits.h +6 -6
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/class.h +53 -3
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/cmdlineopt.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/cont.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/encoding.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/error.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/gc.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/hash.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/imemo.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/object.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/parse.h +7 -32
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/random.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/string.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/symbol.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/thread.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/transcode.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/variable.h +5 -4
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/vm.h +9 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/iseq.h +5 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/method.h +7 -7
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/node.h +22 -19
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/node_name.inc +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/optunifs.inc +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/parse.h +16 -5
- data/lib/debase/ruby_core_source/ruby-3.3.0-p0/parser_node.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism_compile.h +29 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ractor_core.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/regint.h +8 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/regparse.h +2 -1
- data/lib/debase/ruby_core_source/ruby-3.3.0-p0/revision.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/rjit.h +6 -8
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/rjit_c.h +0 -1
- data/lib/debase/ruby_core_source/ruby-3.3.0-p0/rubyparser.h +1403 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/shape.h +32 -32
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/symbol.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/thread_none.h +1 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-p0/thread_pthread.h +166 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/thread_win32.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/variable.h +11 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/version.h +8 -4
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm.inc +225 -185
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_callinfo.h +12 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_core.h +128 -16
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_insnhelper.h +4 -14
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vmtc.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/yjit.h +10 -8
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +121 -120
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/parser_node.h +0 -133
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/revision.h +0 -5
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/rubyparser.h +0 -628
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/thread_pthread.h +0 -126
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/builtin.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/constant.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/darray.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/debug_counter.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/encindex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/hrtime.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/id.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/id_table.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/basic_operators.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/bignum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/compar.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/compile.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/compilers.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/complex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/dir.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/enc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/enum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/enumerator.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/eval.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/file.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/fixnum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/inits.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/io.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/load.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/loadpath.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/math.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/missing.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/numeric.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/proc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/process.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/ractor.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/range.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/rational.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/re.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/ruby_parser.h +2 -2
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/sanitizers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/signal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/struct.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/time.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/known_errors.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/regenc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ruby_atomic.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_exec.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_opts.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_sync.h +0 -0
|
@@ -118,6 +118,7 @@ const char rb_vm_insn_name_base[] =
|
|
|
118
118
|
"expandarray" "\0"
|
|
119
119
|
"concatarray" "\0"
|
|
120
120
|
"splatarray" "\0"
|
|
121
|
+
"splatkw" "\0"
|
|
121
122
|
"newhash" "\0"
|
|
122
123
|
"newrange" "\0"
|
|
123
124
|
"pop" "\0"
|
|
@@ -219,6 +220,7 @@ const char rb_vm_insn_name_base[] =
|
|
|
219
220
|
"trace_expandarray" "\0"
|
|
220
221
|
"trace_concatarray" "\0"
|
|
221
222
|
"trace_splatarray" "\0"
|
|
223
|
+
"trace_splatkw" "\0"
|
|
222
224
|
"trace_newhash" "\0"
|
|
223
225
|
"trace_newrange" "\0"
|
|
224
226
|
"trace_pop" "\0"
|
|
@@ -292,21 +294,21 @@ const char rb_vm_insn_name_base[] =
|
|
|
292
294
|
const unsigned short rb_vm_insn_name_offset[] = {
|
|
293
295
|
0, 4, 13, 22, 36, 50, 69, 80, 91, 111, 131, 148,
|
|
294
296
|
165, 186, 198, 210, 220, 230, 237, 245, 255, 272, 282, 296,
|
|
295
|
-
308, 317, 324, 333, 349, 358, 366, 378, 390, 401, 409,
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
793, 801,
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
297
|
+
308, 317, 324, 333, 349, 358, 366, 378, 390, 401, 409, 417,
|
|
298
|
+
426, 430, 434, 439, 444, 456, 461, 466, 478, 486, 498, 509,
|
|
299
|
+
522, 532, 544, 557, 571, 576, 599, 611, 626, 636, 651, 669,
|
|
300
|
+
681, 693, 699, 705, 710, 719, 732, 742, 747, 765, 774, 784,
|
|
301
|
+
793, 801, 809, 816, 824, 831, 838, 845, 852, 861, 869, 876,
|
|
302
|
+
885, 894, 908, 922, 933, 942, 954, 963, 971, 988, 1002, 1029,
|
|
303
|
+
1062, 1076, 1090, 1104, 1118, 1139, 1160, 1170, 1185, 1200, 1220, 1240,
|
|
304
|
+
1265, 1282, 1299, 1325, 1351, 1374, 1397, 1424, 1442, 1460, 1476, 1492,
|
|
305
|
+
1505, 1519, 1535, 1558, 1574, 1594, 1612, 1627, 1640, 1655, 1677, 1692,
|
|
306
|
+
1706, 1724, 1742, 1759, 1773, 1787, 1802, 1812, 1822, 1833, 1844, 1862,
|
|
307
|
+
1873, 1884, 1902, 1916, 1934, 1951, 1970, 1986, 2004, 2023, 2043, 2054,
|
|
308
|
+
2083, 2101, 2122, 2138, 2159, 2183, 2201, 2219, 2231, 2243, 2254, 2269,
|
|
309
|
+
2288, 2304, 2315, 2339, 2354, 2370, 2385, 2399, 2413, 2426, 2440, 2453,
|
|
310
|
+
2466, 2479, 2492, 2507, 2521, 2534, 2549, 2564, 2584, 2604, 2621, 2636,
|
|
311
|
+
2654, 2669, 2683, 2706, 2726, 2759, 2798, 2818, 2838, 2858, 2878, 2905,
|
|
310
312
|
};
|
|
311
313
|
|
|
312
314
|
ASSERT_VM_INSTRUCTION_SIZE(rb_vm_insn_name_offset);
|
|
@@ -327,14 +329,14 @@ RUBY_SYMBOL_EXPORT_END
|
|
|
327
329
|
#ifdef RUBY_VM_INSNS_INFO
|
|
328
330
|
const uint8_t rb_vm_insn_len_info[] = {
|
|
329
331
|
1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2,
|
|
330
|
-
1, 3, 1, 2, 2, 2, 2, 3, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 4, 4,
|
|
331
|
-
3, 2, 4, 3, 3, 3, 2, 2, 3, 2, 3, 3, 3, 2, 1, 2, 2, 2, 2, 2, 3, 3,
|
|
332
|
-
2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2,
|
|
333
|
-
2, 3, 3, 2, 2, 2, 2, 1, 1, 1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2,
|
|
334
|
-
2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 3, 1, 2, 2, 2, 2, 3, 1, 2,
|
|
335
|
-
2, 1, 2, 2, 2, 2, 4, 4, 2, 3, 2, 4, 3, 3, 3, 2, 2, 3, 2, 3, 3,
|
|
336
|
-
1, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2,
|
|
337
|
-
2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 1, 1,
|
|
332
|
+
1, 3, 1, 2, 2, 2, 2, 3, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 4, 4,
|
|
333
|
+
2, 3, 2, 4, 3, 3, 3, 2, 2, 3, 2, 3, 3, 3, 2, 1, 2, 2, 2, 2, 2, 3, 3,
|
|
334
|
+
2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2,
|
|
335
|
+
2, 2, 3, 3, 2, 2, 2, 2, 1, 1, 1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2,
|
|
336
|
+
2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 3, 1, 2, 2, 2, 2, 3, 1, 2, 1, 2, 2,
|
|
337
|
+
1, 1, 2, 1, 2, 2, 2, 2, 4, 4, 2, 3, 2, 4, 3, 3, 3, 2, 2, 3, 2, 3, 3,
|
|
338
|
+
3, 2, 1, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2,
|
|
339
|
+
2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 1, 1,
|
|
338
340
|
};
|
|
339
341
|
|
|
340
342
|
ASSERT_VM_INSTRUCTION_SIZE(rb_vm_insn_len_info);
|
|
@@ -362,27 +364,7 @@ const char rb_vm_insn_op_base[] =
|
|
|
362
364
|
"I" "\0" "I" "\0" "" "\0" "" "\0" "V" "\0"
|
|
363
365
|
"N" "\0" "V" "\0" "N" "\0" "" "\0" "NN" "\0"
|
|
364
366
|
"" "\0" "N" "\0" "N" "\0" "V" "\0" "V" "\0"
|
|
365
|
-
"NN" "\0" "" "\0" "V" "\0" "
|
|
366
|
-
"" "\0" "" "\0" "N" "\0" "" "\0" "N" "\0"
|
|
367
|
-
"N" "\0" "N" "\0" "N" "\0" "NVV" "\0" "IAV" "\0"
|
|
368
|
-
"N" "\0" "LL" "\0" "N" "\0" "ISN" "\0" "IS" "\0"
|
|
369
|
-
"IS" "\0" "CS" "\0" "C" "\0" "C" "\0" "VC" "\0"
|
|
370
|
-
"C" "\0" "VC" "\0" "NI" "\0" "CS" "\0" "C" "\0"
|
|
371
|
-
"" "\0" "N" "\0" "O" "\0" "O" "\0" "O" "\0"
|
|
372
|
-
"O" "\0" "ST" "\0" "HO" "\0" "C" "\0" "C" "\0"
|
|
373
|
-
"C" "\0" "C" "\0" "C" "\0" "C" "\0" "CC" "\0"
|
|
374
|
-
"C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
375
|
-
"C" "\0" "C" "\0" "C" "\0" "C" "\0" "VC" "\0"
|
|
376
|
-
"VC" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
377
|
-
"C" "\0" "C" "\0" "R" "\0" "RN" "\0" "RN" "\0"
|
|
378
|
-
"L" "\0" "L" "\0" "L" "\0" "L" "\0" "" "\0"
|
|
379
|
-
"" "\0" "" "\0" "LN" "\0" "LN" "\0" "LN" "\0"
|
|
380
|
-
"LN" "\0" "LN" "\0" "NN" "\0" "N" "\0" "IA" "\0"
|
|
381
|
-
"IA" "\0" "IJ" "\0" "IJ" "\0" "K" "\0" "I" "\0"
|
|
382
|
-
"I" "\0" "I" "\0" "I" "\0" "" "\0" "" "\0"
|
|
383
|
-
"V" "\0" "N" "\0" "V" "\0" "N" "\0" "" "\0"
|
|
384
|
-
"NN" "\0" "" "\0" "N" "\0" "N" "\0" "V" "\0"
|
|
385
|
-
"V" "\0" "NN" "\0" "" "\0" "V" "\0" "N" "\0"
|
|
367
|
+
"NN" "\0" "" "\0" "V" "\0" "" "\0" "N" "\0"
|
|
386
368
|
"N" "\0" "" "\0" "" "\0" "N" "\0" "" "\0"
|
|
387
369
|
"N" "\0" "N" "\0" "N" "\0" "N" "\0" "NVV" "\0"
|
|
388
370
|
"IAV" "\0" "N" "\0" "LL" "\0" "N" "\0" "ISN" "\0"
|
|
@@ -396,27 +378,47 @@ const char rb_vm_insn_op_base[] =
|
|
|
396
378
|
"VC" "\0" "VC" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
397
379
|
"C" "\0" "C" "\0" "C" "\0" "R" "\0" "RN" "\0"
|
|
398
380
|
"RN" "\0" "L" "\0" "L" "\0" "L" "\0" "L" "\0"
|
|
399
|
-
"" "\0" "" "\0"
|
|
381
|
+
"" "\0" "" "\0" "" "\0" "LN" "\0" "LN" "\0"
|
|
382
|
+
"LN" "\0" "LN" "\0" "LN" "\0" "NN" "\0" "N" "\0"
|
|
383
|
+
"IA" "\0" "IA" "\0" "IJ" "\0" "IJ" "\0" "K" "\0"
|
|
384
|
+
"I" "\0" "I" "\0" "I" "\0" "I" "\0" "" "\0"
|
|
385
|
+
"" "\0" "V" "\0" "N" "\0" "V" "\0" "N" "\0"
|
|
386
|
+
"" "\0" "NN" "\0" "" "\0" "N" "\0" "N" "\0"
|
|
387
|
+
"V" "\0" "V" "\0" "NN" "\0" "" "\0" "V" "\0"
|
|
388
|
+
"" "\0" "N" "\0" "N" "\0" "" "\0" "" "\0"
|
|
389
|
+
"N" "\0" "" "\0" "N" "\0" "N" "\0" "N" "\0"
|
|
390
|
+
"N" "\0" "NVV" "\0" "IAV" "\0" "N" "\0" "LL" "\0"
|
|
391
|
+
"N" "\0" "ISN" "\0" "IS" "\0" "IS" "\0" "CS" "\0"
|
|
392
|
+
"C" "\0" "C" "\0" "VC" "\0" "C" "\0" "VC" "\0"
|
|
393
|
+
"NI" "\0" "CS" "\0" "C" "\0" "" "\0" "N" "\0"
|
|
394
|
+
"O" "\0" "O" "\0" "O" "\0" "O" "\0" "ST" "\0"
|
|
395
|
+
"HO" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
396
|
+
"C" "\0" "C" "\0" "CC" "\0" "C" "\0" "C" "\0"
|
|
397
|
+
"C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
398
|
+
"C" "\0" "C" "\0" "VC" "\0" "VC" "\0" "C" "\0"
|
|
399
|
+
"C" "\0" "C" "\0" "C" "\0" "C" "\0" "C" "\0"
|
|
400
|
+
"R" "\0" "RN" "\0" "RN" "\0" "L" "\0" "L" "\0"
|
|
401
|
+
"L" "\0" "L" "\0" "" "\0" "" "\0"
|
|
400
402
|
;
|
|
401
403
|
|
|
402
404
|
const unsigned short rb_vm_insn_op_offset[] = {
|
|
403
405
|
0, 1, 4, 7, 10, 13, 16, 19, 21, 24, 27, 30,
|
|
404
406
|
33, 35, 37, 39, 41, 43, 44, 45, 47, 49, 51, 53,
|
|
405
|
-
54, 57, 58, 60, 62, 64, 66, 69, 70, 72,
|
|
406
|
-
77, 78,
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
268,
|
|
414
|
-
|
|
415
|
-
312,
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
400, 402, 404, 406, 408, 410,
|
|
419
|
-
426, 428, 430,
|
|
407
|
+
54, 57, 58, 60, 62, 64, 66, 69, 70, 72, 73, 75,
|
|
408
|
+
77, 78, 79, 81, 82, 84, 86, 88, 90, 94, 98, 100,
|
|
409
|
+
103, 105, 109, 112, 115, 118, 120, 122, 125, 127, 130, 133,
|
|
410
|
+
136, 138, 139, 141, 143, 145, 147, 149, 152, 155, 157, 159,
|
|
411
|
+
161, 163, 165, 167, 170, 172, 174, 176, 178, 180, 182, 184,
|
|
412
|
+
186, 188, 191, 194, 196, 198, 200, 202, 204, 206, 208, 211,
|
|
413
|
+
214, 216, 218, 220, 222, 223, 224, 225, 228, 231, 234, 237,
|
|
414
|
+
240, 243, 245, 248, 251, 254, 257, 259, 261, 263, 265, 267,
|
|
415
|
+
268, 269, 271, 273, 275, 277, 278, 281, 282, 284, 286, 288,
|
|
416
|
+
290, 293, 294, 296, 297, 299, 301, 302, 303, 305, 306, 308,
|
|
417
|
+
310, 312, 314, 318, 322, 324, 327, 329, 333, 336, 339, 342,
|
|
418
|
+
344, 346, 349, 351, 354, 357, 360, 362, 363, 365, 367, 369,
|
|
419
|
+
371, 373, 376, 379, 381, 383, 385, 387, 389, 391, 394, 396,
|
|
420
|
+
398, 400, 402, 404, 406, 408, 410, 412, 415, 418, 420, 422,
|
|
421
|
+
424, 426, 428, 430, 432, 435, 438, 440, 442, 444, 446, 447,
|
|
420
422
|
};
|
|
421
423
|
|
|
422
424
|
ASSERT_VM_INSTRUCTION_SIZE(rb_vm_insn_op_offset);
|
|
@@ -484,7 +486,7 @@ leafness_of_checkmatch(rb_num_t flag)
|
|
|
484
486
|
return false;
|
|
485
487
|
}
|
|
486
488
|
}
|
|
487
|
-
#line
|
|
489
|
+
#line 490 "insns_info.inc"
|
|
488
490
|
|
|
489
491
|
#line 10 "tool/ruby_vm/views/_sp_inc_helpers.erb"
|
|
490
492
|
|
|
@@ -514,7 +516,7 @@ sp_inc_of_invokeblock(const struct rb_callinfo *ci)
|
|
|
514
516
|
* instructions, except that it does not pop receiver. */
|
|
515
517
|
return sp_inc_of_sendish(ci) + 1;
|
|
516
518
|
}
|
|
517
|
-
#line
|
|
519
|
+
#line 520 "insns_info.inc"
|
|
518
520
|
|
|
519
521
|
#ifndef RUBY_VM_EXEC_H
|
|
520
522
|
/* can't #include "vm_exec.h" here... */
|
|
@@ -821,6 +823,15 @@ PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_splatarray(VALUE flag)));
|
|
|
821
823
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_splatarray(VALUE flag)));
|
|
822
824
|
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_splatarray(VALUE flag)));
|
|
823
825
|
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_splatarray(VALUE flag)));
|
|
826
|
+
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_splatkw(void)));
|
|
827
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_splatkw(void)));
|
|
828
|
+
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_splatkw(void)));
|
|
829
|
+
PUREFUNC(MAYBE_UNUSED(static const char* attr_name_splatkw(void)));
|
|
830
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_open_splatkw(void)));
|
|
831
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_popn_splatkw(void)));
|
|
832
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_retn_splatkw(void)));
|
|
833
|
+
PUREFUNC(MAYBE_UNUSED(static rb_snum_t attr_sp_inc_splatkw(void)));
|
|
834
|
+
PUREFUNC(MAYBE_UNUSED(static rb_num_t attr_width_splatkw(void)));
|
|
824
835
|
PUREFUNC(MAYBE_UNUSED(static enum ruby_vminsn_type attr_bin_newhash(rb_num_t num)));
|
|
825
836
|
PUREFUNC(MAYBE_UNUSED(static bool attr_handles_sp_newhash(rb_num_t num)));
|
|
826
837
|
PUREFUNC(MAYBE_UNUSED(static bool attr_leaf_newhash(rb_num_t num)));
|
|
@@ -1982,7 +1993,7 @@ attr_leaf_getspecial(
|
|
|
1982
1993
|
return
|
|
1983
1994
|
#line 192 "insns.def"
|
|
1984
1995
|
(type == 0) ? true : false;
|
|
1985
|
-
#line
|
|
1996
|
+
#line 1997 "insns_info.inc"
|
|
1986
1997
|
}
|
|
1987
1998
|
|
|
1988
1999
|
/* attr const char* name @ getspecial(key, type)()(val) */
|
|
@@ -2138,7 +2149,7 @@ attr_leaf_getinstancevariable(
|
|
|
2138
2149
|
return
|
|
2139
2150
|
#line 214 "insns.def"
|
|
2140
2151
|
false;
|
|
2141
|
-
#line
|
|
2152
|
+
#line 2153 "insns_info.inc"
|
|
2142
2153
|
}
|
|
2143
2154
|
|
|
2144
2155
|
/* attr const char* name @ getinstancevariable(id, ic)()(val) */
|
|
@@ -2231,7 +2242,7 @@ attr_leaf_setinstancevariable(
|
|
|
2231
2242
|
return
|
|
2232
2243
|
#line 225 "insns.def"
|
|
2233
2244
|
false;
|
|
2234
|
-
#line
|
|
2245
|
+
#line 2246 "insns_info.inc"
|
|
2235
2246
|
}
|
|
2236
2247
|
|
|
2237
2248
|
/* attr const char* name @ setinstancevariable(id, ic)(val)() */
|
|
@@ -2324,7 +2335,7 @@ attr_leaf_getclassvariable(
|
|
|
2324
2335
|
return
|
|
2325
2336
|
#line 237 "insns.def"
|
|
2326
2337
|
false;
|
|
2327
|
-
#line
|
|
2338
|
+
#line 2339 "insns_info.inc"
|
|
2328
2339
|
}
|
|
2329
2340
|
|
|
2330
2341
|
/* attr const char* name @ getclassvariable(id, ic)()(val) */
|
|
@@ -2417,7 +2428,7 @@ attr_leaf_setclassvariable(
|
|
|
2417
2428
|
return
|
|
2418
2429
|
#line 250 "insns.def"
|
|
2419
2430
|
false;
|
|
2420
|
-
#line
|
|
2431
|
+
#line 2432 "insns_info.inc"
|
|
2421
2432
|
}
|
|
2422
2433
|
|
|
2423
2434
|
/* attr const char* name @ setclassvariable(id, ic)(val)() */
|
|
@@ -2501,7 +2512,7 @@ attr_leaf_opt_getconstant_path(MAYBE_UNUSED(IC ic))
|
|
|
2501
2512
|
return
|
|
2502
2513
|
#line 261 "insns.def"
|
|
2503
2514
|
false;
|
|
2504
|
-
#line
|
|
2515
|
+
#line 2516 "insns_info.inc"
|
|
2505
2516
|
}
|
|
2506
2517
|
|
|
2507
2518
|
/* attr const char* name @ opt_getconstant_path(ic)()(val) */
|
|
@@ -2565,9 +2576,9 @@ bool
|
|
|
2565
2576
|
attr_leaf_getconstant(MAYBE_UNUSED(ID id))
|
|
2566
2577
|
{
|
|
2567
2578
|
return
|
|
2568
|
-
#line
|
|
2579
|
+
#line 276 "insns.def"
|
|
2569
2580
|
false;
|
|
2570
|
-
#line
|
|
2581
|
+
#line 2582 "insns_info.inc"
|
|
2571
2582
|
}
|
|
2572
2583
|
|
|
2573
2584
|
/* attr const char* name @ getconstant(id)(klass, allow_nil)(val) */
|
|
@@ -2631,9 +2642,9 @@ bool
|
|
|
2631
2642
|
attr_leaf_setconstant(MAYBE_UNUSED(ID id))
|
|
2632
2643
|
{
|
|
2633
2644
|
return
|
|
2634
|
-
#line
|
|
2645
|
+
#line 292 "insns.def"
|
|
2635
2646
|
false;
|
|
2636
|
-
#line
|
|
2647
|
+
#line 2648 "insns_info.inc"
|
|
2637
2648
|
}
|
|
2638
2649
|
|
|
2639
2650
|
/* attr const char* name @ setconstant(id)(val, cbase)() */
|
|
@@ -2697,9 +2708,9 @@ bool
|
|
|
2697
2708
|
attr_leaf_getglobal(MAYBE_UNUSED(ID gid))
|
|
2698
2709
|
{
|
|
2699
2710
|
return
|
|
2700
|
-
#line
|
|
2711
|
+
#line 305 "insns.def"
|
|
2701
2712
|
false;
|
|
2702
|
-
#line
|
|
2713
|
+
#line 2714 "insns_info.inc"
|
|
2703
2714
|
}
|
|
2704
2715
|
|
|
2705
2716
|
/* attr const char* name @ getglobal(gid)()(val) */
|
|
@@ -2763,9 +2774,9 @@ bool
|
|
|
2763
2774
|
attr_leaf_setglobal(MAYBE_UNUSED(ID gid))
|
|
2764
2775
|
{
|
|
2765
2776
|
return
|
|
2766
|
-
#line
|
|
2777
|
+
#line 316 "insns.def"
|
|
2767
2778
|
false;
|
|
2768
|
-
#line
|
|
2779
|
+
#line 2780 "insns_info.inc"
|
|
2769
2780
|
}
|
|
2770
2781
|
|
|
2771
2782
|
/* attr const char* name @ setglobal(gid)(val)() */
|
|
@@ -3018,9 +3029,9 @@ bool
|
|
|
3018
3029
|
attr_leaf_putspecialobject(MAYBE_UNUSED(rb_num_t value_type))
|
|
3019
3030
|
{
|
|
3020
3031
|
return
|
|
3021
|
-
#line
|
|
3032
|
+
#line 363 "insns.def"
|
|
3022
3033
|
(value_type == VM_SPECIAL_OBJECT_VMCORE);
|
|
3023
|
-
#line
|
|
3034
|
+
#line 3035 "insns_info.inc"
|
|
3024
3035
|
}
|
|
3025
3036
|
|
|
3026
3037
|
/* attr const char* name @ putspecialobject(value_type)()(val) */
|
|
@@ -3147,9 +3158,9 @@ bool
|
|
|
3147
3158
|
attr_leaf_concatstrings(MAYBE_UNUSED(rb_num_t num))
|
|
3148
3159
|
{
|
|
3149
3160
|
return
|
|
3150
|
-
#line
|
|
3161
|
+
#line 389 "insns.def"
|
|
3151
3162
|
false;
|
|
3152
|
-
#line
|
|
3163
|
+
#line 3164 "insns_info.inc"
|
|
3153
3164
|
}
|
|
3154
3165
|
|
|
3155
3166
|
/* attr const char* name @ concatstrings(num)(...)(val) */
|
|
@@ -3185,9 +3196,9 @@ rb_snum_t
|
|
|
3185
3196
|
attr_sp_inc_concatstrings(MAYBE_UNUSED(rb_num_t num))
|
|
3186
3197
|
{
|
|
3187
3198
|
return
|
|
3188
|
-
#line
|
|
3199
|
+
#line 390 "insns.def"
|
|
3189
3200
|
1 - (rb_snum_t)num;
|
|
3190
|
-
#line
|
|
3201
|
+
#line 3202 "insns_info.inc"
|
|
3191
3202
|
}
|
|
3192
3203
|
|
|
3193
3204
|
/* attr rb_num_t width @ concatstrings(num)(...)(val) */
|
|
@@ -3288,9 +3299,9 @@ attr_leaf_toregexp(
|
|
|
3288
3299
|
)
|
|
3289
3300
|
{
|
|
3290
3301
|
return
|
|
3291
|
-
#line
|
|
3302
|
+
#line 416 "insns.def"
|
|
3292
3303
|
false;
|
|
3293
|
-
#line
|
|
3304
|
+
#line 3305 "insns_info.inc"
|
|
3294
3305
|
}
|
|
3295
3306
|
|
|
3296
3307
|
/* attr const char* name @ toregexp(opt, cnt)(...)(val) */
|
|
@@ -3341,9 +3352,9 @@ attr_sp_inc_toregexp(
|
|
|
3341
3352
|
)
|
|
3342
3353
|
{
|
|
3343
3354
|
return
|
|
3344
|
-
#line
|
|
3355
|
+
#line 417 "insns.def"
|
|
3345
3356
|
1 - (rb_snum_t)cnt;
|
|
3346
|
-
#line
|
|
3357
|
+
#line 3358 "insns_info.inc"
|
|
3347
3358
|
}
|
|
3348
3359
|
|
|
3349
3360
|
/* attr rb_num_t width @ toregexp(opt, cnt)(...)(val) */
|
|
@@ -3473,9 +3484,9 @@ rb_snum_t
|
|
|
3473
3484
|
attr_sp_inc_newarray(MAYBE_UNUSED(rb_num_t num))
|
|
3474
3485
|
{
|
|
3475
3486
|
return
|
|
3476
|
-
#line
|
|
3487
|
+
#line 440 "insns.def"
|
|
3477
3488
|
1 - (rb_snum_t)num;
|
|
3478
|
-
#line
|
|
3489
|
+
#line 3490 "insns_info.inc"
|
|
3479
3490
|
}
|
|
3480
3491
|
|
|
3481
3492
|
/* attr rb_num_t width @ newarray(num)(...)(val) */
|
|
@@ -3539,9 +3550,9 @@ rb_snum_t
|
|
|
3539
3550
|
attr_sp_inc_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
|
|
3540
3551
|
{
|
|
3541
3552
|
return
|
|
3542
|
-
#line
|
|
3553
|
+
#line 455 "insns.def"
|
|
3543
3554
|
1 - (rb_snum_t)num;
|
|
3544
|
-
#line
|
|
3555
|
+
#line 3556 "insns_info.inc"
|
|
3545
3556
|
}
|
|
3546
3557
|
|
|
3547
3558
|
/* attr rb_num_t width @ newarraykwsplat(num)(...)(val) */
|
|
@@ -3694,7 +3705,10 @@ attr_handles_sp_expandarray(
|
|
|
3694
3705
|
MAYBE_UNUSED(rb_num_t flag)
|
|
3695
3706
|
)
|
|
3696
3707
|
{
|
|
3697
|
-
return
|
|
3708
|
+
return
|
|
3709
|
+
#line 501 "insns.def"
|
|
3710
|
+
true;
|
|
3711
|
+
#line 3712 "insns_info.inc"
|
|
3698
3712
|
}
|
|
3699
3713
|
|
|
3700
3714
|
/* attr bool leaf @ expandarray(num, flag)(..., ary)(...) */
|
|
@@ -3705,9 +3719,9 @@ attr_leaf_expandarray(
|
|
|
3705
3719
|
)
|
|
3706
3720
|
{
|
|
3707
3721
|
return
|
|
3708
|
-
#line
|
|
3722
|
+
#line 502 "insns.def"
|
|
3709
3723
|
false;
|
|
3710
|
-
#line
|
|
3724
|
+
#line 3725 "insns_info.inc"
|
|
3711
3725
|
}
|
|
3712
3726
|
|
|
3713
3727
|
/* attr const char* name @ expandarray(num, flag)(..., ary)(...) */
|
|
@@ -3758,9 +3772,9 @@ attr_sp_inc_expandarray(
|
|
|
3758
3772
|
)
|
|
3759
3773
|
{
|
|
3760
3774
|
return
|
|
3761
|
-
#line
|
|
3775
|
+
#line 503 "insns.def"
|
|
3762
3776
|
(rb_snum_t)num - 1 + (flag & 1 ? 1 : 0);
|
|
3763
|
-
#line
|
|
3777
|
+
#line 3778 "insns_info.inc"
|
|
3764
3778
|
}
|
|
3765
3779
|
|
|
3766
3780
|
/* attr rb_num_t width @ expandarray(num, flag)(..., ary)(...) */
|
|
@@ -3792,9 +3806,9 @@ bool
|
|
|
3792
3806
|
attr_leaf_concatarray(void)
|
|
3793
3807
|
{
|
|
3794
3808
|
return
|
|
3795
|
-
#line
|
|
3809
|
+
#line 514 "insns.def"
|
|
3796
3810
|
false;
|
|
3797
|
-
#line
|
|
3811
|
+
#line 3812 "insns_info.inc"
|
|
3798
3812
|
}
|
|
3799
3813
|
|
|
3800
3814
|
/* attr const char* name @ concatarray()(ary1, ary2)(ary) */
|
|
@@ -3858,9 +3872,9 @@ bool
|
|
|
3858
3872
|
attr_leaf_splatarray(MAYBE_UNUSED(VALUE flag))
|
|
3859
3873
|
{
|
|
3860
3874
|
return
|
|
3861
|
-
#line
|
|
3875
|
+
#line 525 "insns.def"
|
|
3862
3876
|
false;
|
|
3863
|
-
#line
|
|
3877
|
+
#line 3878 "insns_info.inc"
|
|
3864
3878
|
}
|
|
3865
3879
|
|
|
3866
3880
|
/* attr const char* name @ splatarray(flag)(ary)(obj) */
|
|
@@ -3905,6 +3919,72 @@ attr_width_splatarray(MAYBE_UNUSED(VALUE flag))
|
|
|
3905
3919
|
return 2;
|
|
3906
3920
|
}
|
|
3907
3921
|
|
|
3922
|
+
/* attr enum ruby_vminsn_type bin @ splatkw()(hash, block)(obj, block) */
|
|
3923
|
+
enum ruby_vminsn_type
|
|
3924
|
+
attr_bin_splatkw(void)
|
|
3925
|
+
{
|
|
3926
|
+
return BIN(splatkw);
|
|
3927
|
+
}
|
|
3928
|
+
|
|
3929
|
+
/* attr bool handles_sp @ splatkw()(hash, block)(obj, block) */
|
|
3930
|
+
bool
|
|
3931
|
+
attr_handles_sp_splatkw(void)
|
|
3932
|
+
{
|
|
3933
|
+
return false;
|
|
3934
|
+
}
|
|
3935
|
+
|
|
3936
|
+
/* attr bool leaf @ splatkw()(hash, block)(obj, block) */
|
|
3937
|
+
bool
|
|
3938
|
+
attr_leaf_splatkw(void)
|
|
3939
|
+
{
|
|
3940
|
+
return
|
|
3941
|
+
#line 536 "insns.def"
|
|
3942
|
+
false;
|
|
3943
|
+
#line 3944 "insns_info.inc"
|
|
3944
|
+
}
|
|
3945
|
+
|
|
3946
|
+
/* attr const char* name @ splatkw()(hash, block)(obj, block) */
|
|
3947
|
+
const char*
|
|
3948
|
+
attr_name_splatkw(void)
|
|
3949
|
+
{
|
|
3950
|
+
return insn_name(BIN(splatkw));
|
|
3951
|
+
}
|
|
3952
|
+
|
|
3953
|
+
/* attr rb_num_t open @ splatkw()(hash, block)(obj, block) */
|
|
3954
|
+
rb_num_t
|
|
3955
|
+
attr_open_splatkw(void)
|
|
3956
|
+
{
|
|
3957
|
+
return 0;
|
|
3958
|
+
}
|
|
3959
|
+
|
|
3960
|
+
/* attr rb_num_t popn @ splatkw()(hash, block)(obj, block) */
|
|
3961
|
+
rb_num_t
|
|
3962
|
+
attr_popn_splatkw(void)
|
|
3963
|
+
{
|
|
3964
|
+
return 2;
|
|
3965
|
+
}
|
|
3966
|
+
|
|
3967
|
+
/* attr rb_num_t retn @ splatkw()(hash, block)(obj, block) */
|
|
3968
|
+
rb_num_t
|
|
3969
|
+
attr_retn_splatkw(void)
|
|
3970
|
+
{
|
|
3971
|
+
return 2;
|
|
3972
|
+
}
|
|
3973
|
+
|
|
3974
|
+
/* attr rb_snum_t sp_inc @ splatkw()(hash, block)(obj, block) */
|
|
3975
|
+
rb_snum_t
|
|
3976
|
+
attr_sp_inc_splatkw(void)
|
|
3977
|
+
{
|
|
3978
|
+
return 0;
|
|
3979
|
+
}
|
|
3980
|
+
|
|
3981
|
+
/* attr rb_num_t width @ splatkw()(hash, block)(obj, block) */
|
|
3982
|
+
rb_num_t
|
|
3983
|
+
attr_width_splatkw(void)
|
|
3984
|
+
{
|
|
3985
|
+
return 1;
|
|
3986
|
+
}
|
|
3987
|
+
|
|
3908
3988
|
/* attr enum ruby_vminsn_type bin @ newhash(num)(...)(val) */
|
|
3909
3989
|
enum ruby_vminsn_type
|
|
3910
3990
|
attr_bin_newhash(MAYBE_UNUSED(rb_num_t num))
|
|
@@ -3924,9 +4004,9 @@ bool
|
|
|
3924
4004
|
attr_leaf_newhash(MAYBE_UNUSED(rb_num_t num))
|
|
3925
4005
|
{
|
|
3926
4006
|
return
|
|
3927
|
-
#line
|
|
4007
|
+
#line 547 "insns.def"
|
|
3928
4008
|
false;
|
|
3929
|
-
#line
|
|
4009
|
+
#line 4010 "insns_info.inc"
|
|
3930
4010
|
}
|
|
3931
4011
|
|
|
3932
4012
|
/* attr const char* name @ newhash(num)(...)(val) */
|
|
@@ -3962,9 +4042,9 @@ rb_snum_t
|
|
|
3962
4042
|
attr_sp_inc_newhash(MAYBE_UNUSED(rb_num_t num))
|
|
3963
4043
|
{
|
|
3964
4044
|
return
|
|
3965
|
-
#line
|
|
4045
|
+
#line 548 "insns.def"
|
|
3966
4046
|
1 - (rb_snum_t)num;
|
|
3967
|
-
#line
|
|
4047
|
+
#line 4048 "insns_info.inc"
|
|
3968
4048
|
}
|
|
3969
4049
|
|
|
3970
4050
|
/* attr rb_num_t width @ newhash(num)(...)(val) */
|
|
@@ -3993,9 +4073,9 @@ bool
|
|
|
3993
4073
|
attr_leaf_newrange(MAYBE_UNUSED(rb_num_t flag))
|
|
3994
4074
|
{
|
|
3995
4075
|
return
|
|
3996
|
-
#line
|
|
4076
|
+
#line 568 "insns.def"
|
|
3997
4077
|
false;
|
|
3998
|
-
#line
|
|
4078
|
+
#line 4079 "insns_info.inc"
|
|
3999
4079
|
}
|
|
4000
4080
|
|
|
4001
4081
|
/* attr const char* name @ newrange(flag)(low, high)(val) */
|
|
@@ -4220,9 +4300,9 @@ rb_snum_t
|
|
|
4220
4300
|
attr_sp_inc_dupn(MAYBE_UNUSED(rb_num_t n))
|
|
4221
4301
|
{
|
|
4222
4302
|
return
|
|
4223
|
-
#line
|
|
4303
|
+
#line 604 "insns.def"
|
|
4224
4304
|
n;
|
|
4225
|
-
#line
|
|
4305
|
+
#line 4306 "insns_info.inc"
|
|
4226
4306
|
}
|
|
4227
4307
|
|
|
4228
4308
|
/* attr rb_num_t width @ dupn(n)(...)(...) */
|
|
@@ -4349,9 +4429,9 @@ rb_snum_t
|
|
|
4349
4429
|
attr_sp_inc_opt_reverse(MAYBE_UNUSED(rb_num_t n))
|
|
4350
4430
|
{
|
|
4351
4431
|
return
|
|
4352
|
-
#line
|
|
4432
|
+
#line 628 "insns.def"
|
|
4353
4433
|
0;
|
|
4354
|
-
#line
|
|
4434
|
+
#line 4435 "insns_info.inc"
|
|
4355
4435
|
}
|
|
4356
4436
|
|
|
4357
4437
|
/* attr rb_num_t width @ opt_reverse(n)(...)(...) */
|
|
@@ -4415,9 +4495,9 @@ rb_snum_t
|
|
|
4415
4495
|
attr_sp_inc_topn(MAYBE_UNUSED(rb_num_t n))
|
|
4416
4496
|
{
|
|
4417
4497
|
return
|
|
4418
|
-
#line
|
|
4498
|
+
#line 658 "insns.def"
|
|
4419
4499
|
1;
|
|
4420
|
-
#line
|
|
4500
|
+
#line 4501 "insns_info.inc"
|
|
4421
4501
|
}
|
|
4422
4502
|
|
|
4423
4503
|
/* attr rb_num_t width @ topn(n)(...)(val) */
|
|
@@ -4481,9 +4561,9 @@ rb_snum_t
|
|
|
4481
4561
|
attr_sp_inc_setn(MAYBE_UNUSED(rb_num_t n))
|
|
4482
4562
|
{
|
|
4483
4563
|
return
|
|
4484
|
-
#line
|
|
4564
|
+
#line 669 "insns.def"
|
|
4485
4565
|
0;
|
|
4486
|
-
#line
|
|
4566
|
+
#line 4567 "insns_info.inc"
|
|
4487
4567
|
}
|
|
4488
4568
|
|
|
4489
4569
|
/* attr rb_num_t width @ setn(n)(..., val)(val) */
|
|
@@ -4547,9 +4627,9 @@ rb_snum_t
|
|
|
4547
4627
|
attr_sp_inc_adjuststack(MAYBE_UNUSED(rb_num_t n))
|
|
4548
4628
|
{
|
|
4549
4629
|
return
|
|
4550
|
-
#line
|
|
4630
|
+
#line 680 "insns.def"
|
|
4551
4631
|
-(rb_snum_t)n;
|
|
4552
|
-
#line
|
|
4632
|
+
#line 4633 "insns_info.inc"
|
|
4553
4633
|
}
|
|
4554
4634
|
|
|
4555
4635
|
/* attr rb_num_t width @ adjuststack(n)(...)(...) */
|
|
@@ -4590,9 +4670,9 @@ attr_leaf_defined(
|
|
|
4590
4670
|
)
|
|
4591
4671
|
{
|
|
4592
4672
|
return
|
|
4593
|
-
#line
|
|
4673
|
+
#line 695 "insns.def"
|
|
4594
4674
|
leafness_of_defined(op_type);
|
|
4595
|
-
#line
|
|
4675
|
+
#line 4676 "insns_info.inc"
|
|
4596
4676
|
}
|
|
4597
4677
|
|
|
4598
4678
|
/* attr const char* name @ defined(op_type, obj, pushval)(v)(val) */
|
|
@@ -4692,9 +4772,9 @@ attr_leaf_definedivar(
|
|
|
4692
4772
|
)
|
|
4693
4773
|
{
|
|
4694
4774
|
return
|
|
4695
|
-
#line
|
|
4775
|
+
#line 709 "insns.def"
|
|
4696
4776
|
false;
|
|
4697
|
-
#line
|
|
4777
|
+
#line 4778 "insns_info.inc"
|
|
4698
4778
|
}
|
|
4699
4779
|
|
|
4700
4780
|
/* attr const char* name @ definedivar(id, ic, pushval)()(val) */
|
|
@@ -4782,9 +4862,9 @@ bool
|
|
|
4782
4862
|
attr_leaf_checkmatch(MAYBE_UNUSED(rb_num_t flag))
|
|
4783
4863
|
{
|
|
4784
4864
|
return
|
|
4785
|
-
#line
|
|
4865
|
+
#line 729 "insns.def"
|
|
4786
4866
|
leafness_of_checkmatch(flag);
|
|
4787
|
-
#line
|
|
4867
|
+
#line 4868 "insns_info.inc"
|
|
4788
4868
|
}
|
|
4789
4869
|
|
|
4790
4870
|
/* attr const char* name @ checkmatch(flag)(target, pattern)(result) */
|
|
@@ -5279,9 +5359,9 @@ attr_comptime_sp_inc_send(
|
|
|
5279
5359
|
)
|
|
5280
5360
|
{
|
|
5281
5361
|
return
|
|
5282
|
-
#line
|
|
5362
|
+
#line 811 "insns.def"
|
|
5283
5363
|
sp_inc_of_sendish(ci);
|
|
5284
|
-
#line
|
|
5364
|
+
#line 5365 "insns_info.inc"
|
|
5285
5365
|
}
|
|
5286
5366
|
|
|
5287
5367
|
/* attr bool handles_sp @ send(cd, blockiseq)(...)(val) */
|
|
@@ -5352,9 +5432,9 @@ attr_sp_inc_send(
|
|
|
5352
5432
|
)
|
|
5353
5433
|
{
|
|
5354
5434
|
return
|
|
5355
|
-
#line
|
|
5435
|
+
#line 810 "insns.def"
|
|
5356
5436
|
sp_inc_of_sendish(cd->ci);
|
|
5357
|
-
#line
|
|
5437
|
+
#line 5438 "insns_info.inc"
|
|
5358
5438
|
}
|
|
5359
5439
|
|
|
5360
5440
|
/* attr rb_num_t width @ send(cd, blockiseq)(...)(val) */
|
|
@@ -5379,9 +5459,9 @@ rb_snum_t
|
|
|
5379
5459
|
attr_comptime_sp_inc_opt_send_without_block(MAYBE_UNUSED(CALL_INFO ci))
|
|
5380
5460
|
{
|
|
5381
5461
|
return
|
|
5382
|
-
#line
|
|
5462
|
+
#line 831 "insns.def"
|
|
5383
5463
|
sp_inc_of_sendish(ci);
|
|
5384
|
-
#line
|
|
5464
|
+
#line 5465 "insns_info.inc"
|
|
5385
5465
|
}
|
|
5386
5466
|
|
|
5387
5467
|
/* attr bool handles_sp @ opt_send_without_block(cd)(...)(val) */
|
|
@@ -5389,9 +5469,9 @@ bool
|
|
|
5389
5469
|
attr_handles_sp_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
|
|
5390
5470
|
{
|
|
5391
5471
|
return
|
|
5392
|
-
#line
|
|
5472
|
+
#line 829 "insns.def"
|
|
5393
5473
|
true;
|
|
5394
|
-
#line
|
|
5474
|
+
#line 5475 "insns_info.inc"
|
|
5395
5475
|
}
|
|
5396
5476
|
|
|
5397
5477
|
/* attr bool leaf @ opt_send_without_block(cd)(...)(val) */
|
|
@@ -5434,9 +5514,9 @@ rb_snum_t
|
|
|
5434
5514
|
attr_sp_inc_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
|
|
5435
5515
|
{
|
|
5436
5516
|
return
|
|
5437
|
-
#line
|
|
5517
|
+
#line 830 "insns.def"
|
|
5438
5518
|
sp_inc_of_sendish(cd->ci);
|
|
5439
|
-
#line
|
|
5519
|
+
#line 5520 "insns_info.inc"
|
|
5440
5520
|
}
|
|
5441
5521
|
|
|
5442
5522
|
/* attr rb_num_t width @ opt_send_without_block(cd)(...)(val) */
|
|
@@ -5465,9 +5545,9 @@ bool
|
|
|
5465
5545
|
attr_leaf_objtostring(MAYBE_UNUSED(CALL_DATA cd))
|
|
5466
5546
|
{
|
|
5467
5547
|
return
|
|
5468
|
-
#line
|
|
5548
|
+
#line 849 "insns.def"
|
|
5469
5549
|
false;
|
|
5470
|
-
#line
|
|
5550
|
+
#line 5551 "insns_info.inc"
|
|
5471
5551
|
}
|
|
5472
5552
|
|
|
5473
5553
|
/* attr const char* name @ objtostring(cd)(recv)(val) */
|
|
@@ -5773,9 +5853,9 @@ attr_comptime_sp_inc_opt_newarray_send(
|
|
|
5773
5853
|
)
|
|
5774
5854
|
{
|
|
5775
5855
|
return
|
|
5776
|
-
#line
|
|
5856
|
+
#line 911 "insns.def"
|
|
5777
5857
|
1 - (rb_snum_t)num;
|
|
5778
|
-
#line
|
|
5858
|
+
#line 5859 "insns_info.inc"
|
|
5779
5859
|
}
|
|
5780
5860
|
|
|
5781
5861
|
/* attr bool handles_sp @ opt_newarray_send(num, method)(...)(val) */
|
|
@@ -5796,9 +5876,9 @@ attr_leaf_opt_newarray_send(
|
|
|
5796
5876
|
)
|
|
5797
5877
|
{
|
|
5798
5878
|
return
|
|
5799
|
-
#line
|
|
5879
|
+
#line 909 "insns.def"
|
|
5800
5880
|
false;
|
|
5801
|
-
#line
|
|
5881
|
+
#line 5882 "insns_info.inc"
|
|
5802
5882
|
}
|
|
5803
5883
|
|
|
5804
5884
|
/* attr const char* name @ opt_newarray_send(num, method)(...)(val) */
|
|
@@ -5849,9 +5929,9 @@ attr_sp_inc_opt_newarray_send(
|
|
|
5849
5929
|
)
|
|
5850
5930
|
{
|
|
5851
5931
|
return
|
|
5852
|
-
#line
|
|
5932
|
+
#line 910 "insns.def"
|
|
5853
5933
|
1 - (rb_snum_t)num;
|
|
5854
|
-
#line
|
|
5934
|
+
#line 5935 "insns_info.inc"
|
|
5855
5935
|
}
|
|
5856
5936
|
|
|
5857
5937
|
/* attr rb_num_t width @ opt_newarray_send(num, method)(...)(val) */
|
|
@@ -5882,9 +5962,9 @@ attr_comptime_sp_inc_invokesuper(
|
|
|
5882
5962
|
)
|
|
5883
5963
|
{
|
|
5884
5964
|
return
|
|
5885
|
-
#line
|
|
5965
|
+
#line 935 "insns.def"
|
|
5886
5966
|
sp_inc_of_sendish(ci);
|
|
5887
|
-
#line
|
|
5967
|
+
#line 5968 "insns_info.inc"
|
|
5888
5968
|
}
|
|
5889
5969
|
|
|
5890
5970
|
/* attr bool handles_sp @ invokesuper(cd, blockiseq)(...)(val) */
|
|
@@ -5955,9 +6035,9 @@ attr_sp_inc_invokesuper(
|
|
|
5955
6035
|
)
|
|
5956
6036
|
{
|
|
5957
6037
|
return
|
|
5958
|
-
#line
|
|
6038
|
+
#line 934 "insns.def"
|
|
5959
6039
|
sp_inc_of_sendish(cd->ci);
|
|
5960
|
-
#line
|
|
6040
|
+
#line 6041 "insns_info.inc"
|
|
5961
6041
|
}
|
|
5962
6042
|
|
|
5963
6043
|
/* attr rb_num_t width @ invokesuper(cd, blockiseq)(...)(val) */
|
|
@@ -5982,9 +6062,9 @@ rb_snum_t
|
|
|
5982
6062
|
attr_comptime_sp_inc_invokeblock(MAYBE_UNUSED(CALL_INFO ci))
|
|
5983
6063
|
{
|
|
5984
6064
|
return
|
|
5985
|
-
#line
|
|
6065
|
+
#line 955 "insns.def"
|
|
5986
6066
|
sp_inc_of_invokeblock(ci);
|
|
5987
|
-
#line
|
|
6067
|
+
#line 6068 "insns_info.inc"
|
|
5988
6068
|
}
|
|
5989
6069
|
|
|
5990
6070
|
/* attr bool handles_sp @ invokeblock(cd)(...)(val) */
|
|
@@ -5992,9 +6072,9 @@ bool
|
|
|
5992
6072
|
attr_handles_sp_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
|
|
5993
6073
|
{
|
|
5994
6074
|
return
|
|
5995
|
-
#line
|
|
6075
|
+
#line 953 "insns.def"
|
|
5996
6076
|
true;
|
|
5997
|
-
#line
|
|
6077
|
+
#line 6078 "insns_info.inc"
|
|
5998
6078
|
}
|
|
5999
6079
|
|
|
6000
6080
|
/* attr bool leaf @ invokeblock(cd)(...)(val) */
|
|
@@ -6037,9 +6117,9 @@ rb_snum_t
|
|
|
6037
6117
|
attr_sp_inc_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
|
|
6038
6118
|
{
|
|
6039
6119
|
return
|
|
6040
|
-
#line
|
|
6120
|
+
#line 954 "insns.def"
|
|
6041
6121
|
sp_inc_of_invokeblock(cd->ci);
|
|
6042
|
-
#line
|
|
6122
|
+
#line 6123 "insns_info.inc"
|
|
6043
6123
|
}
|
|
6044
6124
|
|
|
6045
6125
|
/* attr rb_num_t width @ invokeblock(cd)(...)(val) */
|
|
@@ -6061,9 +6141,9 @@ bool
|
|
|
6061
6141
|
attr_handles_sp_leave(void)
|
|
6062
6142
|
{
|
|
6063
6143
|
return
|
|
6064
|
-
#line
|
|
6144
|
+
#line 977 "insns.def"
|
|
6065
6145
|
true;
|
|
6066
|
-
#line
|
|
6146
|
+
#line 6147 "insns_info.inc"
|
|
6067
6147
|
}
|
|
6068
6148
|
|
|
6069
6149
|
/* attr bool leaf @ leave()(val)(val) */
|
|
@@ -6071,9 +6151,9 @@ bool
|
|
|
6071
6151
|
attr_leaf_leave(void)
|
|
6072
6152
|
{
|
|
6073
6153
|
return
|
|
6074
|
-
#line
|
|
6154
|
+
#line 976 "insns.def"
|
|
6075
6155
|
false;
|
|
6076
|
-
#line
|
|
6156
|
+
#line 6157 "insns_info.inc"
|
|
6077
6157
|
}
|
|
6078
6158
|
|
|
6079
6159
|
/* attr const char* name @ leave()(val)(val) */
|
|
@@ -6137,9 +6217,9 @@ bool
|
|
|
6137
6217
|
attr_leaf_throw(MAYBE_UNUSED(rb_num_t throw_state))
|
|
6138
6218
|
{
|
|
6139
6219
|
return
|
|
6140
|
-
#line
|
|
6220
|
+
#line 1010 "insns.def"
|
|
6141
6221
|
false;
|
|
6142
|
-
#line
|
|
6222
|
+
#line 6223 "insns_info.inc"
|
|
6143
6223
|
}
|
|
6144
6224
|
|
|
6145
6225
|
/* attr const char* name @ throw(throw_state)(throwobj)(val) */
|
|
@@ -6203,9 +6283,9 @@ bool
|
|
|
6203
6283
|
attr_leaf_jump(MAYBE_UNUSED(OFFSET dst))
|
|
6204
6284
|
{
|
|
6205
6285
|
return
|
|
6206
|
-
#line
|
|
6286
|
+
#line 1028 "insns.def"
|
|
6207
6287
|
leafness_of_check_ints;
|
|
6208
|
-
#line
|
|
6288
|
+
#line 6289 "insns_info.inc"
|
|
6209
6289
|
}
|
|
6210
6290
|
|
|
6211
6291
|
/* attr const char* name @ jump(dst)()() */
|
|
@@ -6269,9 +6349,9 @@ bool
|
|
|
6269
6349
|
attr_leaf_branchif(MAYBE_UNUSED(OFFSET dst))
|
|
6270
6350
|
{
|
|
6271
6351
|
return
|
|
6272
|
-
#line
|
|
6352
|
+
#line 1041 "insns.def"
|
|
6273
6353
|
leafness_of_check_ints;
|
|
6274
|
-
#line
|
|
6354
|
+
#line 6355 "insns_info.inc"
|
|
6275
6355
|
}
|
|
6276
6356
|
|
|
6277
6357
|
/* attr const char* name @ branchif(dst)(val)() */
|
|
@@ -6335,9 +6415,9 @@ bool
|
|
|
6335
6415
|
attr_leaf_branchunless(MAYBE_UNUSED(OFFSET dst))
|
|
6336
6416
|
{
|
|
6337
6417
|
return
|
|
6338
|
-
#line
|
|
6418
|
+
#line 1056 "insns.def"
|
|
6339
6419
|
leafness_of_check_ints;
|
|
6340
|
-
#line
|
|
6420
|
+
#line 6421 "insns_info.inc"
|
|
6341
6421
|
}
|
|
6342
6422
|
|
|
6343
6423
|
/* attr const char* name @ branchunless(dst)(val)() */
|
|
@@ -6401,9 +6481,9 @@ bool
|
|
|
6401
6481
|
attr_leaf_branchnil(MAYBE_UNUSED(OFFSET dst))
|
|
6402
6482
|
{
|
|
6403
6483
|
return
|
|
6404
|
-
#line
|
|
6484
|
+
#line 1071 "insns.def"
|
|
6405
6485
|
leafness_of_check_ints;
|
|
6406
|
-
#line
|
|
6486
|
+
#line 6487 "insns_info.inc"
|
|
6407
6487
|
}
|
|
6408
6488
|
|
|
6409
6489
|
/* attr const char* name @ branchnil(dst)(val)() */
|
|
@@ -6616,9 +6696,9 @@ attr_sp_inc_opt_case_dispatch(
|
|
|
6616
6696
|
)
|
|
6617
6697
|
{
|
|
6618
6698
|
return
|
|
6619
|
-
#line
|
|
6699
|
+
#line 1099 "insns.def"
|
|
6620
6700
|
-1;
|
|
6621
|
-
#line
|
|
6701
|
+
#line 6702 "insns_info.inc"
|
|
6622
6702
|
}
|
|
6623
6703
|
|
|
6624
6704
|
/* attr rb_num_t width @ opt_case_dispatch(hash, else_offset)(..., key)() */
|
|
@@ -6839,9 +6919,9 @@ bool
|
|
|
6839
6919
|
attr_leaf_opt_div(MAYBE_UNUSED(CALL_DATA cd))
|
|
6840
6920
|
{
|
|
6841
6921
|
return
|
|
6842
|
-
#line
|
|
6922
|
+
#line 1160 "insns.def"
|
|
6843
6923
|
false;
|
|
6844
|
-
#line
|
|
6924
|
+
#line 6925 "insns_info.inc"
|
|
6845
6925
|
}
|
|
6846
6926
|
|
|
6847
6927
|
/* attr const char* name @ opt_div(cd)(recv, obj)(val) */
|
|
@@ -6905,9 +6985,9 @@ bool
|
|
|
6905
6985
|
attr_leaf_opt_mod(MAYBE_UNUSED(CALL_DATA cd))
|
|
6906
6986
|
{
|
|
6907
6987
|
return
|
|
6908
|
-
#line
|
|
6988
|
+
#line 1176 "insns.def"
|
|
6909
6989
|
false;
|
|
6910
|
-
#line
|
|
6990
|
+
#line 6991 "insns_info.inc"
|
|
6911
6991
|
}
|
|
6912
6992
|
|
|
6913
6993
|
/* attr const char* name @ opt_mod(cd)(recv, obj)(val) */
|
|
@@ -7376,9 +7456,9 @@ bool
|
|
|
7376
7456
|
attr_leaf_opt_ltlt(MAYBE_UNUSED(CALL_DATA cd))
|
|
7377
7457
|
{
|
|
7378
7458
|
return
|
|
7379
|
-
#line
|
|
7459
|
+
#line 1278 "insns.def"
|
|
7380
7460
|
false;
|
|
7381
|
-
#line
|
|
7461
|
+
#line 7462 "insns_info.inc"
|
|
7382
7462
|
}
|
|
7383
7463
|
|
|
7384
7464
|
/* attr const char* name @ opt_ltlt(cd)(recv, obj)(val) */
|
|
@@ -7568,9 +7648,9 @@ bool
|
|
|
7568
7648
|
attr_leaf_opt_aref(MAYBE_UNUSED(CALL_DATA cd))
|
|
7569
7649
|
{
|
|
7570
7650
|
return
|
|
7571
|
-
#line
|
|
7651
|
+
#line 1325 "insns.def"
|
|
7572
7652
|
false;
|
|
7573
|
-
#line
|
|
7653
|
+
#line 7654 "insns_info.inc"
|
|
7574
7654
|
}
|
|
7575
7655
|
|
|
7576
7656
|
/* attr const char* name @ opt_aref(cd)(recv, obj)(val) */
|
|
@@ -7634,9 +7714,9 @@ bool
|
|
|
7634
7714
|
attr_leaf_opt_aset(MAYBE_UNUSED(CALL_DATA cd))
|
|
7635
7715
|
{
|
|
7636
7716
|
return
|
|
7637
|
-
#line
|
|
7717
|
+
#line 1342 "insns.def"
|
|
7638
7718
|
false;
|
|
7639
|
-
#line
|
|
7719
|
+
#line 7720 "insns_info.inc"
|
|
7640
7720
|
}
|
|
7641
7721
|
|
|
7642
7722
|
/* attr const char* name @ opt_aset(cd)(recv, obj, set)(val) */
|
|
@@ -7709,9 +7789,9 @@ attr_leaf_opt_aset_with(
|
|
|
7709
7789
|
)
|
|
7710
7790
|
{
|
|
7711
7791
|
return
|
|
7712
|
-
#line
|
|
7792
|
+
#line 1358 "insns.def"
|
|
7713
7793
|
false;
|
|
7714
|
-
#line
|
|
7794
|
+
#line 7795 "insns_info.inc"
|
|
7715
7795
|
}
|
|
7716
7796
|
|
|
7717
7797
|
/* attr const char* name @ opt_aset_with(key, cd)(recv, val)(val) */
|
|
@@ -7802,9 +7882,9 @@ attr_leaf_opt_aref_with(
|
|
|
7802
7882
|
)
|
|
7803
7883
|
{
|
|
7804
7884
|
return
|
|
7805
|
-
#line
|
|
7885
|
+
#line 1379 "insns.def"
|
|
7806
7886
|
false;
|
|
7807
|
-
#line
|
|
7887
|
+
#line 7888 "insns_info.inc"
|
|
7808
7888
|
}
|
|
7809
7889
|
|
|
7810
7890
|
/* attr const char* name @ opt_aref_with(key, cd)(recv)(val) */
|
|
@@ -8201,9 +8281,9 @@ bool
|
|
|
8201
8281
|
attr_leaf_opt_regexpmatch2(MAYBE_UNUSED(CALL_DATA cd))
|
|
8202
8282
|
{
|
|
8203
8283
|
return
|
|
8204
|
-
#line
|
|
8284
|
+
#line 1465 "insns.def"
|
|
8205
8285
|
false;
|
|
8206
|
-
#line
|
|
8286
|
+
#line 8287 "insns_info.inc"
|
|
8207
8287
|
}
|
|
8208
8288
|
|
|
8209
8289
|
/* attr const char* name @ opt_regexpmatch2(cd)(obj2, obj1)(val) */
|
|
@@ -8267,9 +8347,9 @@ bool
|
|
|
8267
8347
|
attr_leaf_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
|
|
8268
8348
|
{
|
|
8269
8349
|
return
|
|
8270
|
-
#line
|
|
8350
|
+
#line 1480 "insns.def"
|
|
8271
8351
|
false;
|
|
8272
|
-
#line
|
|
8352
|
+
#line 8353 "insns_info.inc"
|
|
8273
8353
|
}
|
|
8274
8354
|
|
|
8275
8355
|
/* attr const char* name @ invokebuiltin(bf)(...)(val) */
|
|
@@ -8305,9 +8385,9 @@ rb_snum_t
|
|
|
8305
8385
|
attr_sp_inc_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
|
|
8306
8386
|
{
|
|
8307
8387
|
return
|
|
8308
|
-
#line
|
|
8388
|
+
#line 1481 "insns.def"
|
|
8309
8389
|
1 - bf->argc;
|
|
8310
|
-
#line
|
|
8390
|
+
#line 8391 "insns_info.inc"
|
|
8311
8391
|
}
|
|
8312
8392
|
|
|
8313
8393
|
/* attr rb_num_t width @ invokebuiltin(bf)(...)(val) */
|
|
@@ -8345,9 +8425,9 @@ attr_leaf_opt_invokebuiltin_delegate(
|
|
|
8345
8425
|
)
|
|
8346
8426
|
{
|
|
8347
8427
|
return
|
|
8348
|
-
#line
|
|
8428
|
+
#line 1492 "insns.def"
|
|
8349
8429
|
false;
|
|
8350
|
-
#line
|
|
8430
|
+
#line 8431 "insns_info.inc"
|
|
8351
8431
|
}
|
|
8352
8432
|
|
|
8353
8433
|
/* attr const char* name @ opt_invokebuiltin_delegate(bf, index)()(val) */
|
|
@@ -8438,9 +8518,9 @@ attr_leaf_opt_invokebuiltin_delegate_leave(
|
|
|
8438
8518
|
)
|
|
8439
8519
|
{
|
|
8440
8520
|
return
|
|
8441
|
-
#line
|
|
8521
|
+
#line 1503 "insns.def"
|
|
8442
8522
|
false;
|
|
8443
|
-
#line
|
|
8523
|
+
#line 8524 "insns_info.inc"
|
|
8444
8524
|
}
|
|
8445
8525
|
|
|
8446
8526
|
/* attr const char* name @ opt_invokebuiltin_delegate_leave(bf, index)()(val) */
|
|
@@ -8892,15 +8972,15 @@ comptime_insn_stack_increase_dispatch(enum ruby_vminsn_type insn, const VALUE *o
|
|
|
8892
8972
|
1, -1, 1, -1, 1, -1, -2, 1,
|
|
8893
8973
|
-1, 1, 1, 1, 1, 1, -127, -1,
|
|
8894
8974
|
-127, 0, -127, -127, 1, 1, -127, -1,
|
|
8895
|
-
0, -127, -1, -1, 1, -127, 0,
|
|
8896
|
-
-127, -127, -127, 0, 1, -1, 1,
|
|
8897
|
-
|
|
8898
|
-
1, -127, -127, -127, 0, 0, 0,
|
|
8899
|
-
-1, -1, 1, -127, -1, -1, -1,
|
|
8975
|
+
0, 0, -127, -1, -1, 1, -127, 0,
|
|
8976
|
+
-127, -127, -127, -127, 0, 1, -1, 1,
|
|
8977
|
+
0, -1, 0, -1, -127, -127, 0, 1,
|
|
8978
|
+
0, 1, -127, -127, -127, 0, 0, 0,
|
|
8979
|
+
-1, -1, -1, 1, -127, -1, -1, -1,
|
|
8900
8980
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
8901
|
-
-1, -1, -1, -2, -1, 0, 0,
|
|
8902
|
-
0, 0, 0, -1, -127, 1, 1,
|
|
8903
|
-
1, -1, -1, 1, 1, 0, 0,
|
|
8981
|
+
-1, -1, -1, -1, -2, -1, 0, 0,
|
|
8982
|
+
0, 0, 0, 0, -1, -127, 1, 1,
|
|
8983
|
+
1, 1, -1, -1, 1, 1, 0, 0,
|
|
8904
8984
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
8905
8985
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
8906
8986
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
@@ -8913,7 +8993,7 @@ comptime_insn_stack_increase_dispatch(enum ruby_vminsn_type insn, const VALUE *o
|
|
|
8913
8993
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
8914
8994
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
8915
8995
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
8916
|
-
0, 0,
|
|
8996
|
+
0, 0, 0, 0,
|
|
8917
8997
|
};
|
|
8918
8998
|
signed char c = t[insn];
|
|
8919
8999
|
|
|
@@ -8992,6 +9072,7 @@ insn_may_depend_on_sp_or_pc(int insn, const VALUE *opes)
|
|
|
8992
9072
|
case BIN(expandarray):
|
|
8993
9073
|
case BIN(concatarray):
|
|
8994
9074
|
case BIN(splatarray):
|
|
9075
|
+
case BIN(splatkw):
|
|
8995
9076
|
case BIN(newhash):
|
|
8996
9077
|
case BIN(newrange):
|
|
8997
9078
|
case BIN(defined):
|
|
@@ -9057,6 +9138,7 @@ insn_may_depend_on_sp_or_pc(int insn, const VALUE *opes)
|
|
|
9057
9138
|
case BIN(trace_expandarray):
|
|
9058
9139
|
case BIN(trace_concatarray):
|
|
9059
9140
|
case BIN(trace_splatarray):
|
|
9141
|
+
case BIN(trace_splatkw):
|
|
9060
9142
|
case BIN(trace_newhash):
|
|
9061
9143
|
case BIN(trace_newrange):
|
|
9062
9144
|
case BIN(trace_pop):
|