debase-ruby_core_source 3.2.3 → 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 +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ccan/list/list.h +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/dln.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/eval_intern.h +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/insns.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/insns_info.inc +269 -187
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/class.h +46 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/cont.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/encoding.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/error.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/gc.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/object.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/random.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/string.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/symbol.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/thread.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/transcode.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/variable.h +5 -3
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/vm.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/iseq.h +5 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/method.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/optunifs.inc +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/parse.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/prism_compile.h +12 -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-preview3 → ruby-3.3.0-p0}/rjit.h +6 -8
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/rjit_c.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/rubyparser.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/shape.h +2 -12
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/thread_pthread.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/variable.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/version.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm.inc +189 -136
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_callinfo.h +8 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_core.h +64 -5
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_insnhelper.h +4 -14
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vmtc.inc +2 -0
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +121 -121
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/revision.h +0 -5
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/addr2line.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/builtin.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ccan/build_assert/build_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ccan/check_type/check_type.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ccan/container_of/container_of.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ccan/str/str.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/constant.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/darray.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/debug_counter.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/encindex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/hrtime.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/id.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/id_table.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/array.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/basic_operators.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/bignum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/cmdlineopt.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/compar.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/compile.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/compilers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/complex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/dir.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/enc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/enum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/enumerator.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/eval.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/file.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/fixnum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/hash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/imemo.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/inits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/io.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/load.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/loadpath.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/math.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/missing.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/numeric.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/parse.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/proc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/process.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/ractor.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/range.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/rational.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/re.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/ruby_parser.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/sanitizers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/signal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/struct.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/time.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/known_errors.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/node_name.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/parser_node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ractor_core.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/regenc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/regint.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/regparse.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ruby_atomic.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/thread_none.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/thread_win32.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_exec.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_opts.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_sync.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/yjit.h +0 -0
|
@@ -1325,22 +1325,22 @@ INSN_ENTRY(expandarray)
|
|
|
1325
1325
|
|
|
1326
1326
|
/* ### Instruction preambles. ### */
|
|
1327
1327
|
ADD_PC(INSN_ATTR(width));
|
|
1328
|
+
POPN(INSN_ATTR(popn));
|
|
1328
1329
|
COLLECT_USAGE_INSN(INSN_ATTR(bin));
|
|
1329
1330
|
COLLECT_USAGE_OPERAND(INSN_ATTR(bin), 0, num);
|
|
1330
1331
|
COLLECT_USAGE_OPERAND(INSN_ATTR(bin), 1, flag);
|
|
1331
1332
|
|
|
1332
1333
|
/* ### Here we do the instruction body. ### */
|
|
1333
1334
|
# define NAME_OF_CURRENT_INSN expandarray
|
|
1334
|
-
# line
|
|
1335
|
+
# line 504 "insns.def"
|
|
1335
1336
|
{
|
|
1336
|
-
vm_expandarray(
|
|
1337
|
+
vm_expandarray(GET_CFP(), ary, num, (int)flag);
|
|
1337
1338
|
}
|
|
1338
|
-
# line
|
|
1339
|
+
# line 1340 "vm.inc"
|
|
1339
1340
|
# undef NAME_OF_CURRENT_INSN
|
|
1340
1341
|
|
|
1341
1342
|
/* ### Instruction trailers. ### */
|
|
1342
1343
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, INSN_ATTR(retn));
|
|
1343
|
-
INC_SP(INSN_ATTR(sp_inc));
|
|
1344
1344
|
# undef INSN_ATTR
|
|
1345
1345
|
|
|
1346
1346
|
/* ### Leave the instruction. ### */
|
|
@@ -1368,7 +1368,7 @@ INSN_ENTRY(concatarray)
|
|
|
1368
1368
|
|
|
1369
1369
|
/* ### Here we do the instruction body. ### */
|
|
1370
1370
|
# define NAME_OF_CURRENT_INSN concatarray
|
|
1371
|
-
# line
|
|
1371
|
+
# line 515 "insns.def"
|
|
1372
1372
|
{
|
|
1373
1373
|
ary = vm_concat_array(ary1, ary2);
|
|
1374
1374
|
}
|
|
@@ -1410,7 +1410,7 @@ INSN_ENTRY(splatarray)
|
|
|
1410
1410
|
|
|
1411
1411
|
/* ### Here we do the instruction body. ### */
|
|
1412
1412
|
# define NAME_OF_CURRENT_INSN splatarray
|
|
1413
|
-
# line
|
|
1413
|
+
# line 526 "insns.def"
|
|
1414
1414
|
{
|
|
1415
1415
|
obj = vm_splat_array(flag, ary);
|
|
1416
1416
|
}
|
|
@@ -1430,6 +1430,50 @@ INSN_ENTRY(splatarray)
|
|
|
1430
1430
|
END_INSN(splatarray);
|
|
1431
1431
|
}
|
|
1432
1432
|
|
|
1433
|
+
/* insn splatkw()(hash, block)(obj, block) */
|
|
1434
|
+
INSN_ENTRY(splatkw)
|
|
1435
|
+
{
|
|
1436
|
+
/* ### Declare that we have just entered into an instruction. ### */
|
|
1437
|
+
START_OF_ORIGINAL_INSN(splatkw);
|
|
1438
|
+
DEBUG_ENTER_INSN("splatkw");
|
|
1439
|
+
|
|
1440
|
+
/* ### Declare and assign variables. ### */
|
|
1441
|
+
# define INSN_ATTR(x) attr_ ## x ## _splatkw()
|
|
1442
|
+
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
|
1443
|
+
VALUE hash = TOPN(1);
|
|
1444
|
+
VALUE block = TOPN(0);
|
|
1445
|
+
VALUE obj;
|
|
1446
|
+
|
|
1447
|
+
/* ### Instruction preambles. ### */
|
|
1448
|
+
ADD_PC(INSN_ATTR(width));
|
|
1449
|
+
SETUP_CANARY(leaf);
|
|
1450
|
+
COLLECT_USAGE_INSN(INSN_ATTR(bin));
|
|
1451
|
+
|
|
1452
|
+
/* ### Here we do the instruction body. ### */
|
|
1453
|
+
# define NAME_OF_CURRENT_INSN splatkw
|
|
1454
|
+
# line 537 "insns.def"
|
|
1455
|
+
{
|
|
1456
|
+
obj = rb_to_hash_type(hash);
|
|
1457
|
+
}
|
|
1458
|
+
# line 1459 "vm.inc"
|
|
1459
|
+
# undef NAME_OF_CURRENT_INSN
|
|
1460
|
+
|
|
1461
|
+
/* ### Instruction trailers. ### */
|
|
1462
|
+
CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, INSN_ATTR(retn));
|
|
1463
|
+
CHECK_CANARY(leaf, INSN_ATTR(bin));
|
|
1464
|
+
INC_SP(INSN_ATTR(sp_inc));
|
|
1465
|
+
TOPN(0) = block;
|
|
1466
|
+
VM_ASSERT(!RB_TYPE_P(TOPN(0), T_NONE));
|
|
1467
|
+
VM_ASSERT(!RB_TYPE_P(TOPN(0), T_MOVED));
|
|
1468
|
+
TOPN(1) = obj;
|
|
1469
|
+
VM_ASSERT(!RB_TYPE_P(TOPN(1), T_NONE));
|
|
1470
|
+
VM_ASSERT(!RB_TYPE_P(TOPN(1), T_MOVED));
|
|
1471
|
+
# undef INSN_ATTR
|
|
1472
|
+
|
|
1473
|
+
/* ### Leave the instruction. ### */
|
|
1474
|
+
END_INSN(splatkw);
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1433
1477
|
/* insn newhash(num)(...)(val) */
|
|
1434
1478
|
INSN_ENTRY(newhash)
|
|
1435
1479
|
{
|
|
@@ -1451,7 +1495,7 @@ INSN_ENTRY(newhash)
|
|
|
1451
1495
|
|
|
1452
1496
|
/* ### Here we do the instruction body. ### */
|
|
1453
1497
|
# define NAME_OF_CURRENT_INSN newhash
|
|
1454
|
-
# line
|
|
1498
|
+
# line 549 "insns.def"
|
|
1455
1499
|
{
|
|
1456
1500
|
RUBY_DTRACE_CREATE_HOOK(HASH, num);
|
|
1457
1501
|
|
|
@@ -1463,7 +1507,7 @@ INSN_ENTRY(newhash)
|
|
|
1463
1507
|
val = rb_hash_new();
|
|
1464
1508
|
}
|
|
1465
1509
|
}
|
|
1466
|
-
# line
|
|
1510
|
+
# line 1511 "vm.inc"
|
|
1467
1511
|
# undef NAME_OF_CURRENT_INSN
|
|
1468
1512
|
|
|
1469
1513
|
/* ### Instruction trailers. ### */
|
|
@@ -1502,11 +1546,11 @@ INSN_ENTRY(newrange)
|
|
|
1502
1546
|
|
|
1503
1547
|
/* ### Here we do the instruction body. ### */
|
|
1504
1548
|
# define NAME_OF_CURRENT_INSN newrange
|
|
1505
|
-
# line
|
|
1549
|
+
# line 569 "insns.def"
|
|
1506
1550
|
{
|
|
1507
1551
|
val = rb_range_new(low, high, (int)flag);
|
|
1508
1552
|
}
|
|
1509
|
-
# line
|
|
1553
|
+
# line 1554 "vm.inc"
|
|
1510
1554
|
# undef NAME_OF_CURRENT_INSN
|
|
1511
1555
|
|
|
1512
1556
|
/* ### Instruction trailers. ### */
|
|
@@ -1541,12 +1585,12 @@ INSN_ENTRY(pop)
|
|
|
1541
1585
|
|
|
1542
1586
|
/* ### Here we do the instruction body. ### */
|
|
1543
1587
|
# define NAME_OF_CURRENT_INSN pop
|
|
1544
|
-
# line
|
|
1588
|
+
# line 583 "insns.def"
|
|
1545
1589
|
{
|
|
1546
1590
|
(void)val;
|
|
1547
1591
|
/* none */
|
|
1548
1592
|
}
|
|
1549
|
-
# line
|
|
1593
|
+
# line 1594 "vm.inc"
|
|
1550
1594
|
# undef NAME_OF_CURRENT_INSN
|
|
1551
1595
|
|
|
1552
1596
|
/* ### Instruction trailers. ### */
|
|
@@ -1580,11 +1624,11 @@ INSN_ENTRY(dup)
|
|
|
1580
1624
|
|
|
1581
1625
|
/* ### Here we do the instruction body. ### */
|
|
1582
1626
|
# define NAME_OF_CURRENT_INSN dup
|
|
1583
|
-
# line
|
|
1627
|
+
# line 594 "insns.def"
|
|
1584
1628
|
{
|
|
1585
1629
|
val1 = val2 = val;
|
|
1586
1630
|
}
|
|
1587
|
-
# line
|
|
1631
|
+
# line 1632 "vm.inc"
|
|
1588
1632
|
# undef NAME_OF_CURRENT_INSN
|
|
1589
1633
|
|
|
1590
1634
|
/* ### Instruction trailers. ### */
|
|
@@ -1622,14 +1666,14 @@ INSN_ENTRY(dupn)
|
|
|
1622
1666
|
|
|
1623
1667
|
/* ### Here we do the instruction body. ### */
|
|
1624
1668
|
# define NAME_OF_CURRENT_INSN dupn
|
|
1625
|
-
# line
|
|
1669
|
+
# line 605 "insns.def"
|
|
1626
1670
|
{
|
|
1627
1671
|
void *dst = GET_SP();
|
|
1628
1672
|
void *src = STACK_ADDR_FROM_TOP(n);
|
|
1629
1673
|
|
|
1630
1674
|
MEMCPY(dst, src, VALUE, n);
|
|
1631
1675
|
}
|
|
1632
|
-
# line
|
|
1676
|
+
# line 1677 "vm.inc"
|
|
1633
1677
|
# undef NAME_OF_CURRENT_INSN
|
|
1634
1678
|
|
|
1635
1679
|
/* ### Instruction trailers. ### */
|
|
@@ -1692,7 +1736,7 @@ INSN_ENTRY(opt_reverse)
|
|
|
1692
1736
|
|
|
1693
1737
|
/* ### Here we do the instruction body. ### */
|
|
1694
1738
|
# define NAME_OF_CURRENT_INSN opt_reverse
|
|
1695
|
-
# line
|
|
1739
|
+
# line 629 "insns.def"
|
|
1696
1740
|
{
|
|
1697
1741
|
rb_num_t i;
|
|
1698
1742
|
VALUE *sp = STACK_ADDR_FROM_TOP(n);
|
|
@@ -1704,7 +1748,7 @@ INSN_ENTRY(opt_reverse)
|
|
|
1704
1748
|
TOPN(i) = v0;
|
|
1705
1749
|
}
|
|
1706
1750
|
}
|
|
1707
|
-
# line
|
|
1751
|
+
# line 1752 "vm.inc"
|
|
1708
1752
|
# undef NAME_OF_CURRENT_INSN
|
|
1709
1753
|
|
|
1710
1754
|
/* ### Instruction trailers. ### */
|
|
@@ -1737,11 +1781,11 @@ INSN_ENTRY(topn)
|
|
|
1737
1781
|
|
|
1738
1782
|
/* ### Here we do the instruction body. ### */
|
|
1739
1783
|
# define NAME_OF_CURRENT_INSN topn
|
|
1740
|
-
# line
|
|
1784
|
+
# line 659 "insns.def"
|
|
1741
1785
|
{
|
|
1742
1786
|
val = TOPN(n);
|
|
1743
1787
|
}
|
|
1744
|
-
# line
|
|
1788
|
+
# line 1789 "vm.inc"
|
|
1745
1789
|
# undef NAME_OF_CURRENT_INSN
|
|
1746
1790
|
|
|
1747
1791
|
/* ### Instruction trailers. ### */
|
|
@@ -1778,11 +1822,11 @@ INSN_ENTRY(setn)
|
|
|
1778
1822
|
|
|
1779
1823
|
/* ### Here we do the instruction body. ### */
|
|
1780
1824
|
# define NAME_OF_CURRENT_INSN setn
|
|
1781
|
-
# line
|
|
1825
|
+
# line 670 "insns.def"
|
|
1782
1826
|
{
|
|
1783
1827
|
TOPN(n) = val;
|
|
1784
1828
|
}
|
|
1785
|
-
# line
|
|
1829
|
+
# line 1830 "vm.inc"
|
|
1786
1830
|
# undef NAME_OF_CURRENT_INSN
|
|
1787
1831
|
|
|
1788
1832
|
/* ### Instruction trailers. ### */
|
|
@@ -1850,14 +1894,14 @@ INSN_ENTRY(defined)
|
|
|
1850
1894
|
|
|
1851
1895
|
/* ### Here we do the instruction body. ### */
|
|
1852
1896
|
# define NAME_OF_CURRENT_INSN defined
|
|
1853
|
-
# line
|
|
1897
|
+
# line 696 "insns.def"
|
|
1854
1898
|
{
|
|
1855
1899
|
val = Qnil;
|
|
1856
1900
|
if (vm_defined(ec, GET_CFP(), op_type, obj, v)) {
|
|
1857
1901
|
val = pushval;
|
|
1858
1902
|
}
|
|
1859
1903
|
}
|
|
1860
|
-
# line
|
|
1904
|
+
# line 1905 "vm.inc"
|
|
1861
1905
|
# undef NAME_OF_CURRENT_INSN
|
|
1862
1906
|
|
|
1863
1907
|
/* ### Instruction trailers. ### */
|
|
@@ -1898,14 +1942,14 @@ INSN_ENTRY(definedivar)
|
|
|
1898
1942
|
|
|
1899
1943
|
/* ### Here we do the instruction body. ### */
|
|
1900
1944
|
# define NAME_OF_CURRENT_INSN definedivar
|
|
1901
|
-
# line
|
|
1945
|
+
# line 710 "insns.def"
|
|
1902
1946
|
{
|
|
1903
1947
|
val = Qnil;
|
|
1904
1948
|
if (vm_getivar(GET_SELF(), id, GET_ISEQ(), ic, NULL, FALSE, Qundef) != Qundef) {
|
|
1905
1949
|
val = pushval;
|
|
1906
1950
|
}
|
|
1907
1951
|
}
|
|
1908
|
-
# line
|
|
1952
|
+
# line 1953 "vm.inc"
|
|
1909
1953
|
# undef NAME_OF_CURRENT_INSN
|
|
1910
1954
|
|
|
1911
1955
|
/* ### Instruction trailers. ### */
|
|
@@ -1944,11 +1988,11 @@ INSN_ENTRY(checkmatch)
|
|
|
1944
1988
|
|
|
1945
1989
|
/* ### Here we do the instruction body. ### */
|
|
1946
1990
|
# define NAME_OF_CURRENT_INSN checkmatch
|
|
1947
|
-
# line
|
|
1991
|
+
# line 730 "insns.def"
|
|
1948
1992
|
{
|
|
1949
1993
|
result = vm_check_match(ec, target, pattern, flag);
|
|
1950
1994
|
}
|
|
1951
|
-
# line
|
|
1995
|
+
# line 1996 "vm.inc"
|
|
1952
1996
|
# undef NAME_OF_CURRENT_INSN
|
|
1953
1997
|
|
|
1954
1998
|
/* ### Instruction trailers. ### */
|
|
@@ -1987,11 +2031,11 @@ INSN_ENTRY(checkkeyword)
|
|
|
1987
2031
|
|
|
1988
2032
|
/* ### Here we do the instruction body. ### */
|
|
1989
2033
|
# define NAME_OF_CURRENT_INSN checkkeyword
|
|
1990
|
-
# line
|
|
2034
|
+
# line 740 "insns.def"
|
|
1991
2035
|
{
|
|
1992
2036
|
ret = vm_check_keyword(kw_bits_index, keyword_index, GET_EP());
|
|
1993
2037
|
}
|
|
1994
|
-
# line
|
|
2038
|
+
# line 2039 "vm.inc"
|
|
1995
2039
|
# undef NAME_OF_CURRENT_INSN
|
|
1996
2040
|
|
|
1997
2041
|
/* ### Instruction trailers. ### */
|
|
@@ -2029,11 +2073,11 @@ INSN_ENTRY(checktype)
|
|
|
2029
2073
|
|
|
2030
2074
|
/* ### Here we do the instruction body. ### */
|
|
2031
2075
|
# define NAME_OF_CURRENT_INSN checktype
|
|
2032
|
-
# line
|
|
2076
|
+
# line 750 "insns.def"
|
|
2033
2077
|
{
|
|
2034
2078
|
ret = RBOOL(TYPE(val) == (int)type);
|
|
2035
2079
|
}
|
|
2036
|
-
# line
|
|
2080
|
+
# line 2081 "vm.inc"
|
|
2037
2081
|
# undef NAME_OF_CURRENT_INSN
|
|
2038
2082
|
|
|
2039
2083
|
/* ### Instruction trailers. ### */
|
|
@@ -2077,7 +2121,7 @@ INSN_ENTRY(defineclass)
|
|
|
2077
2121
|
|
|
2078
2122
|
/* ### Here we do the instruction body. ### */
|
|
2079
2123
|
# define NAME_OF_CURRENT_INSN defineclass
|
|
2080
|
-
# line
|
|
2124
|
+
# line 766 "insns.def"
|
|
2081
2125
|
{
|
|
2082
2126
|
VALUE klass = vm_find_or_create_class_by_id(id, flags, cbase, super);
|
|
2083
2127
|
|
|
@@ -2093,7 +2137,7 @@ INSN_ENTRY(defineclass)
|
|
|
2093
2137
|
RESTORE_REGS();
|
|
2094
2138
|
NEXT_INSN();
|
|
2095
2139
|
}
|
|
2096
|
-
# line
|
|
2140
|
+
# line 2141 "vm.inc"
|
|
2097
2141
|
# undef NAME_OF_CURRENT_INSN
|
|
2098
2142
|
|
|
2099
2143
|
/* ### Instruction trailers. ### */
|
|
@@ -2129,11 +2173,11 @@ INSN_ENTRY(definemethod)
|
|
|
2129
2173
|
|
|
2130
2174
|
/* ### Here we do the instruction body. ### */
|
|
2131
2175
|
# define NAME_OF_CURRENT_INSN definemethod
|
|
2132
|
-
# line
|
|
2176
|
+
# line 787 "insns.def"
|
|
2133
2177
|
{
|
|
2134
2178
|
vm_define_method(ec, Qnil, id, (VALUE)iseq, FALSE);
|
|
2135
2179
|
}
|
|
2136
|
-
# line
|
|
2180
|
+
# line 2181 "vm.inc"
|
|
2137
2181
|
# undef NAME_OF_CURRENT_INSN
|
|
2138
2182
|
|
|
2139
2183
|
/* ### Instruction trailers. ### */
|
|
@@ -2169,11 +2213,11 @@ INSN_ENTRY(definesmethod)
|
|
|
2169
2213
|
|
|
2170
2214
|
/* ### Here we do the instruction body. ### */
|
|
2171
2215
|
# define NAME_OF_CURRENT_INSN definesmethod
|
|
2172
|
-
# line
|
|
2216
|
+
# line 796 "insns.def"
|
|
2173
2217
|
{
|
|
2174
2218
|
vm_define_method(ec, obj, id, (VALUE)iseq, TRUE);
|
|
2175
2219
|
}
|
|
2176
|
-
# line
|
|
2220
|
+
# line 2221 "vm.inc"
|
|
2177
2221
|
# undef NAME_OF_CURRENT_INSN
|
|
2178
2222
|
|
|
2179
2223
|
/* ### Instruction trailers. ### */
|
|
@@ -2209,7 +2253,7 @@ INSN_ENTRY(send)
|
|
|
2209
2253
|
|
|
2210
2254
|
/* ### Here we do the instruction body. ### */
|
|
2211
2255
|
# define NAME_OF_CURRENT_INSN send
|
|
2212
|
-
# line
|
|
2256
|
+
# line 812 "insns.def"
|
|
2213
2257
|
{
|
|
2214
2258
|
VALUE bh = vm_caller_setup_arg_block(ec, GET_CFP(), cd->ci, blockiseq, false);
|
|
2215
2259
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_method);
|
|
@@ -2220,7 +2264,7 @@ INSN_ENTRY(send)
|
|
|
2220
2264
|
NEXT_INSN();
|
|
2221
2265
|
}
|
|
2222
2266
|
}
|
|
2223
|
-
# line
|
|
2267
|
+
# line 2268 "vm.inc"
|
|
2224
2268
|
# undef NAME_OF_CURRENT_INSN
|
|
2225
2269
|
|
|
2226
2270
|
/* ### Instruction trailers. ### */
|
|
@@ -2255,7 +2299,7 @@ INSN_ENTRY(opt_send_without_block)
|
|
|
2255
2299
|
|
|
2256
2300
|
/* ### Here we do the instruction body. ### */
|
|
2257
2301
|
# define NAME_OF_CURRENT_INSN opt_send_without_block
|
|
2258
|
-
# line
|
|
2302
|
+
# line 832 "insns.def"
|
|
2259
2303
|
{
|
|
2260
2304
|
VALUE bh = VM_BLOCK_HANDLER_NONE;
|
|
2261
2305
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_method);
|
|
@@ -2266,7 +2310,7 @@ INSN_ENTRY(opt_send_without_block)
|
|
|
2266
2310
|
NEXT_INSN();
|
|
2267
2311
|
}
|
|
2268
2312
|
}
|
|
2269
|
-
# line
|
|
2313
|
+
# line 2314 "vm.inc"
|
|
2270
2314
|
# undef NAME_OF_CURRENT_INSN
|
|
2271
2315
|
|
|
2272
2316
|
/* ### Instruction trailers. ### */
|
|
@@ -2301,7 +2345,7 @@ INSN_ENTRY(objtostring)
|
|
|
2301
2345
|
|
|
2302
2346
|
/* ### Here we do the instruction body. ### */
|
|
2303
2347
|
# define NAME_OF_CURRENT_INSN objtostring
|
|
2304
|
-
# line
|
|
2348
|
+
# line 850 "insns.def"
|
|
2305
2349
|
{
|
|
2306
2350
|
val = vm_objtostring(GET_ISEQ(), recv, cd);
|
|
2307
2351
|
|
|
@@ -2309,7 +2353,7 @@ INSN_ENTRY(objtostring)
|
|
|
2309
2353
|
CALL_SIMPLE_METHOD();
|
|
2310
2354
|
}
|
|
2311
2355
|
}
|
|
2312
|
-
# line
|
|
2356
|
+
# line 2357 "vm.inc"
|
|
2313
2357
|
# undef NAME_OF_CURRENT_INSN
|
|
2314
2358
|
|
|
2315
2359
|
/* ### Instruction trailers. ### */
|
|
@@ -2348,7 +2392,7 @@ INSN_ENTRY(opt_str_freeze)
|
|
|
2348
2392
|
|
|
2349
2393
|
/* ### Here we do the instruction body. ### */
|
|
2350
2394
|
# define NAME_OF_CURRENT_INSN opt_str_freeze
|
|
2351
|
-
# line
|
|
2395
|
+
# line 863 "insns.def"
|
|
2352
2396
|
{
|
|
2353
2397
|
val = vm_opt_str_freeze(str, BOP_FREEZE, idFreeze);
|
|
2354
2398
|
|
|
@@ -2357,7 +2401,7 @@ INSN_ENTRY(opt_str_freeze)
|
|
|
2357
2401
|
CALL_SIMPLE_METHOD();
|
|
2358
2402
|
}
|
|
2359
2403
|
}
|
|
2360
|
-
# line
|
|
2404
|
+
# line 2405 "vm.inc"
|
|
2361
2405
|
# undef NAME_OF_CURRENT_INSN
|
|
2362
2406
|
|
|
2363
2407
|
/* ### Instruction trailers. ### */
|
|
@@ -2395,7 +2439,7 @@ INSN_ENTRY(opt_nil_p)
|
|
|
2395
2439
|
|
|
2396
2440
|
/* ### Here we do the instruction body. ### */
|
|
2397
2441
|
# define NAME_OF_CURRENT_INSN opt_nil_p
|
|
2398
|
-
# line
|
|
2442
|
+
# line 878 "insns.def"
|
|
2399
2443
|
{
|
|
2400
2444
|
val = vm_opt_nil_p(GET_ISEQ(), cd, recv);
|
|
2401
2445
|
|
|
@@ -2403,7 +2447,7 @@ INSN_ENTRY(opt_nil_p)
|
|
|
2403
2447
|
CALL_SIMPLE_METHOD();
|
|
2404
2448
|
}
|
|
2405
2449
|
}
|
|
2406
|
-
# line
|
|
2450
|
+
# line 2451 "vm.inc"
|
|
2407
2451
|
# undef NAME_OF_CURRENT_INSN
|
|
2408
2452
|
|
|
2409
2453
|
/* ### Instruction trailers. ### */
|
|
@@ -2442,7 +2486,7 @@ INSN_ENTRY(opt_str_uminus)
|
|
|
2442
2486
|
|
|
2443
2487
|
/* ### Here we do the instruction body. ### */
|
|
2444
2488
|
# define NAME_OF_CURRENT_INSN opt_str_uminus
|
|
2445
|
-
# line
|
|
2489
|
+
# line 891 "insns.def"
|
|
2446
2490
|
{
|
|
2447
2491
|
val = vm_opt_str_freeze(str, BOP_UMINUS, idUMinus);
|
|
2448
2492
|
|
|
@@ -2451,7 +2495,7 @@ INSN_ENTRY(opt_str_uminus)
|
|
|
2451
2495
|
CALL_SIMPLE_METHOD();
|
|
2452
2496
|
}
|
|
2453
2497
|
}
|
|
2454
|
-
# line
|
|
2498
|
+
# line 2499 "vm.inc"
|
|
2455
2499
|
# undef NAME_OF_CURRENT_INSN
|
|
2456
2500
|
|
|
2457
2501
|
/* ### Instruction trailers. ### */
|
|
@@ -2490,7 +2534,7 @@ INSN_ENTRY(opt_newarray_send)
|
|
|
2490
2534
|
|
|
2491
2535
|
/* ### Here we do the instruction body. ### */
|
|
2492
2536
|
# define NAME_OF_CURRENT_INSN opt_newarray_send
|
|
2493
|
-
# line
|
|
2537
|
+
# line 912 "insns.def"
|
|
2494
2538
|
{
|
|
2495
2539
|
switch(method) {
|
|
2496
2540
|
case idHash:
|
|
@@ -2506,7 +2550,7 @@ INSN_ENTRY(opt_newarray_send)
|
|
|
2506
2550
|
rb_bug("unreachable");
|
|
2507
2551
|
}
|
|
2508
2552
|
}
|
|
2509
|
-
# line
|
|
2553
|
+
# line 2554 "vm.inc"
|
|
2510
2554
|
# undef NAME_OF_CURRENT_INSN
|
|
2511
2555
|
|
|
2512
2556
|
/* ### Instruction trailers. ### */
|
|
@@ -2546,7 +2590,7 @@ INSN_ENTRY(invokesuper)
|
|
|
2546
2590
|
|
|
2547
2591
|
/* ### Here we do the instruction body. ### */
|
|
2548
2592
|
# define NAME_OF_CURRENT_INSN invokesuper
|
|
2549
|
-
# line
|
|
2593
|
+
# line 936 "insns.def"
|
|
2550
2594
|
{
|
|
2551
2595
|
VALUE bh = vm_caller_setup_arg_block(ec, GET_CFP(), cd->ci, blockiseq, true);
|
|
2552
2596
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_super);
|
|
@@ -2557,7 +2601,7 @@ INSN_ENTRY(invokesuper)
|
|
|
2557
2601
|
NEXT_INSN();
|
|
2558
2602
|
}
|
|
2559
2603
|
}
|
|
2560
|
-
# line
|
|
2604
|
+
# line 2605 "vm.inc"
|
|
2561
2605
|
# undef NAME_OF_CURRENT_INSN
|
|
2562
2606
|
|
|
2563
2607
|
/* ### Instruction trailers. ### */
|
|
@@ -2592,7 +2636,7 @@ INSN_ENTRY(invokeblock)
|
|
|
2592
2636
|
|
|
2593
2637
|
/* ### Here we do the instruction body. ### */
|
|
2594
2638
|
# define NAME_OF_CURRENT_INSN invokeblock
|
|
2595
|
-
# line
|
|
2639
|
+
# line 956 "insns.def"
|
|
2596
2640
|
{
|
|
2597
2641
|
VALUE bh = VM_BLOCK_HANDLER_NONE;
|
|
2598
2642
|
val = vm_sendish(ec, GET_CFP(), cd, bh, mexp_search_invokeblock);
|
|
@@ -2603,7 +2647,7 @@ INSN_ENTRY(invokeblock)
|
|
|
2603
2647
|
NEXT_INSN();
|
|
2604
2648
|
}
|
|
2605
2649
|
}
|
|
2606
|
-
# line
|
|
2650
|
+
# line 2651 "vm.inc"
|
|
2607
2651
|
# undef NAME_OF_CURRENT_INSN
|
|
2608
2652
|
|
|
2609
2653
|
/* ### Instruction trailers. ### */
|
|
@@ -2636,7 +2680,7 @@ INSN_ENTRY(leave)
|
|
|
2636
2680
|
|
|
2637
2681
|
/* ### Here we do the instruction body. ### */
|
|
2638
2682
|
# define NAME_OF_CURRENT_INSN leave
|
|
2639
|
-
# line
|
|
2683
|
+
# line 978 "insns.def"
|
|
2640
2684
|
{
|
|
2641
2685
|
if (OPT_CHECKED_RUN) {
|
|
2642
2686
|
const VALUE *const bp = vm_base_ptr(GET_CFP());
|
|
@@ -2657,7 +2701,7 @@ INSN_ENTRY(leave)
|
|
|
2657
2701
|
RESTORE_REGS();
|
|
2658
2702
|
}
|
|
2659
2703
|
}
|
|
2660
|
-
# line
|
|
2704
|
+
# line 2705 "vm.inc"
|
|
2661
2705
|
# undef NAME_OF_CURRENT_INSN
|
|
2662
2706
|
|
|
2663
2707
|
/* ### Instruction trailers. ### */
|
|
@@ -2692,13 +2736,13 @@ INSN_ENTRY(throw)
|
|
|
2692
2736
|
|
|
2693
2737
|
/* ### Here we do the instruction body. ### */
|
|
2694
2738
|
# define NAME_OF_CURRENT_INSN throw
|
|
2695
|
-
# line
|
|
2739
|
+
# line 1011 "insns.def"
|
|
2696
2740
|
{
|
|
2697
2741
|
val = vm_throw(ec, GET_CFP(), throw_state, throwobj);
|
|
2698
2742
|
THROW_EXCEPTION(val);
|
|
2699
2743
|
/* unreachable */
|
|
2700
2744
|
}
|
|
2701
|
-
# line
|
|
2745
|
+
# line 2746 "vm.inc"
|
|
2702
2746
|
# undef NAME_OF_CURRENT_INSN
|
|
2703
2747
|
|
|
2704
2748
|
/* ### Instruction trailers. ### */
|
|
@@ -2734,12 +2778,12 @@ INSN_ENTRY(jump)
|
|
|
2734
2778
|
|
|
2735
2779
|
/* ### Here we do the instruction body. ### */
|
|
2736
2780
|
# define NAME_OF_CURRENT_INSN jump
|
|
2737
|
-
# line
|
|
2781
|
+
# line 1029 "insns.def"
|
|
2738
2782
|
{
|
|
2739
2783
|
RUBY_VM_CHECK_INTS(ec);
|
|
2740
2784
|
JUMP(dst);
|
|
2741
2785
|
}
|
|
2742
|
-
# line
|
|
2786
|
+
# line 2787 "vm.inc"
|
|
2743
2787
|
# undef NAME_OF_CURRENT_INSN
|
|
2744
2788
|
|
|
2745
2789
|
/* ### Instruction trailers. ### */
|
|
@@ -2773,14 +2817,14 @@ INSN_ENTRY(branchif)
|
|
|
2773
2817
|
|
|
2774
2818
|
/* ### Here we do the instruction body. ### */
|
|
2775
2819
|
# define NAME_OF_CURRENT_INSN branchif
|
|
2776
|
-
# line
|
|
2820
|
+
# line 1042 "insns.def"
|
|
2777
2821
|
{
|
|
2778
2822
|
if (RTEST(val)) {
|
|
2779
2823
|
RUBY_VM_CHECK_INTS(ec);
|
|
2780
2824
|
JUMP(dst);
|
|
2781
2825
|
}
|
|
2782
2826
|
}
|
|
2783
|
-
# line
|
|
2827
|
+
# line 2828 "vm.inc"
|
|
2784
2828
|
# undef NAME_OF_CURRENT_INSN
|
|
2785
2829
|
|
|
2786
2830
|
/* ### Instruction trailers. ### */
|
|
@@ -2814,14 +2858,14 @@ INSN_ENTRY(branchunless)
|
|
|
2814
2858
|
|
|
2815
2859
|
/* ### Here we do the instruction body. ### */
|
|
2816
2860
|
# define NAME_OF_CURRENT_INSN branchunless
|
|
2817
|
-
# line
|
|
2861
|
+
# line 1057 "insns.def"
|
|
2818
2862
|
{
|
|
2819
2863
|
if (!RTEST(val)) {
|
|
2820
2864
|
RUBY_VM_CHECK_INTS(ec);
|
|
2821
2865
|
JUMP(dst);
|
|
2822
2866
|
}
|
|
2823
2867
|
}
|
|
2824
|
-
# line
|
|
2868
|
+
# line 2869 "vm.inc"
|
|
2825
2869
|
# undef NAME_OF_CURRENT_INSN
|
|
2826
2870
|
|
|
2827
2871
|
/* ### Instruction trailers. ### */
|
|
@@ -2855,14 +2899,14 @@ INSN_ENTRY(branchnil)
|
|
|
2855
2899
|
|
|
2856
2900
|
/* ### Here we do the instruction body. ### */
|
|
2857
2901
|
# define NAME_OF_CURRENT_INSN branchnil
|
|
2858
|
-
# line
|
|
2902
|
+
# line 1072 "insns.def"
|
|
2859
2903
|
{
|
|
2860
2904
|
if (NIL_P(val)) {
|
|
2861
2905
|
RUBY_VM_CHECK_INTS(ec);
|
|
2862
2906
|
JUMP(dst);
|
|
2863
2907
|
}
|
|
2864
2908
|
}
|
|
2865
|
-
# line
|
|
2909
|
+
# line 2910 "vm.inc"
|
|
2866
2910
|
# undef NAME_OF_CURRENT_INSN
|
|
2867
2911
|
|
|
2868
2912
|
/* ### Instruction trailers. ### */
|
|
@@ -2899,11 +2943,11 @@ INSN_ENTRY(once)
|
|
|
2899
2943
|
|
|
2900
2944
|
/* ### Here we do the instruction body. ### */
|
|
2901
2945
|
# define NAME_OF_CURRENT_INSN once
|
|
2902
|
-
# line
|
|
2946
|
+
# line 1089 "insns.def"
|
|
2903
2947
|
{
|
|
2904
2948
|
val = vm_once_dispatch(ec, iseq, ise);
|
|
2905
2949
|
}
|
|
2906
|
-
# line
|
|
2950
|
+
# line 2951 "vm.inc"
|
|
2907
2951
|
# undef NAME_OF_CURRENT_INSN
|
|
2908
2952
|
|
|
2909
2953
|
/* ### Instruction trailers. ### */
|
|
@@ -2939,7 +2983,7 @@ INSN_ENTRY(opt_case_dispatch)
|
|
|
2939
2983
|
|
|
2940
2984
|
/* ### Here we do the instruction body. ### */
|
|
2941
2985
|
# define NAME_OF_CURRENT_INSN opt_case_dispatch
|
|
2942
|
-
# line
|
|
2986
|
+
# line 1100 "insns.def"
|
|
2943
2987
|
{
|
|
2944
2988
|
OFFSET dst = vm_case_dispatch(hash, else_offset, key);
|
|
2945
2989
|
|
|
@@ -2947,7 +2991,7 @@ INSN_ENTRY(opt_case_dispatch)
|
|
|
2947
2991
|
JUMP(dst);
|
|
2948
2992
|
}
|
|
2949
2993
|
}
|
|
2950
|
-
# line
|
|
2994
|
+
# line 2995 "vm.inc"
|
|
2951
2995
|
# undef NAME_OF_CURRENT_INSN
|
|
2952
2996
|
|
|
2953
2997
|
/* ### Instruction trailers. ### */
|
|
@@ -2983,7 +3027,7 @@ INSN_ENTRY(opt_plus)
|
|
|
2983
3027
|
|
|
2984
3028
|
/* ### Here we do the instruction body. ### */
|
|
2985
3029
|
# define NAME_OF_CURRENT_INSN opt_plus
|
|
2986
|
-
# line
|
|
3030
|
+
# line 1116 "insns.def"
|
|
2987
3031
|
{
|
|
2988
3032
|
val = vm_opt_plus(recv, obj);
|
|
2989
3033
|
|
|
@@ -2991,7 +3035,7 @@ INSN_ENTRY(opt_plus)
|
|
|
2991
3035
|
CALL_SIMPLE_METHOD();
|
|
2992
3036
|
}
|
|
2993
3037
|
}
|
|
2994
|
-
# line
|
|
3038
|
+
# line 3039 "vm.inc"
|
|
2995
3039
|
# undef NAME_OF_CURRENT_INSN
|
|
2996
3040
|
|
|
2997
3041
|
/* ### Instruction trailers. ### */
|
|
@@ -3030,7 +3074,7 @@ INSN_ENTRY(opt_minus)
|
|
|
3030
3074
|
|
|
3031
3075
|
/* ### Here we do the instruction body. ### */
|
|
3032
3076
|
# define NAME_OF_CURRENT_INSN opt_minus
|
|
3033
|
-
# line
|
|
3077
|
+
# line 1130 "insns.def"
|
|
3034
3078
|
{
|
|
3035
3079
|
val = vm_opt_minus(recv, obj);
|
|
3036
3080
|
|
|
@@ -3038,7 +3082,7 @@ INSN_ENTRY(opt_minus)
|
|
|
3038
3082
|
CALL_SIMPLE_METHOD();
|
|
3039
3083
|
}
|
|
3040
3084
|
}
|
|
3041
|
-
# line
|
|
3085
|
+
# line 3086 "vm.inc"
|
|
3042
3086
|
# undef NAME_OF_CURRENT_INSN
|
|
3043
3087
|
|
|
3044
3088
|
/* ### Instruction trailers. ### */
|
|
@@ -3077,7 +3121,7 @@ INSN_ENTRY(opt_mult)
|
|
|
3077
3121
|
|
|
3078
3122
|
/* ### Here we do the instruction body. ### */
|
|
3079
3123
|
# define NAME_OF_CURRENT_INSN opt_mult
|
|
3080
|
-
# line
|
|
3124
|
+
# line 1144 "insns.def"
|
|
3081
3125
|
{
|
|
3082
3126
|
val = vm_opt_mult(recv, obj);
|
|
3083
3127
|
|
|
@@ -3085,7 +3129,7 @@ INSN_ENTRY(opt_mult)
|
|
|
3085
3129
|
CALL_SIMPLE_METHOD();
|
|
3086
3130
|
}
|
|
3087
3131
|
}
|
|
3088
|
-
# line
|
|
3132
|
+
# line 3133 "vm.inc"
|
|
3089
3133
|
# undef NAME_OF_CURRENT_INSN
|
|
3090
3134
|
|
|
3091
3135
|
/* ### Instruction trailers. ### */
|
|
@@ -3124,7 +3168,7 @@ INSN_ENTRY(opt_div)
|
|
|
3124
3168
|
|
|
3125
3169
|
/* ### Here we do the instruction body. ### */
|
|
3126
3170
|
# define NAME_OF_CURRENT_INSN opt_div
|
|
3127
|
-
# line
|
|
3171
|
+
# line 1161 "insns.def"
|
|
3128
3172
|
{
|
|
3129
3173
|
val = vm_opt_div(recv, obj);
|
|
3130
3174
|
|
|
@@ -3132,7 +3176,7 @@ INSN_ENTRY(opt_div)
|
|
|
3132
3176
|
CALL_SIMPLE_METHOD();
|
|
3133
3177
|
}
|
|
3134
3178
|
}
|
|
3135
|
-
# line
|
|
3179
|
+
# line 3180 "vm.inc"
|
|
3136
3180
|
# undef NAME_OF_CURRENT_INSN
|
|
3137
3181
|
|
|
3138
3182
|
/* ### Instruction trailers. ### */
|
|
@@ -3171,7 +3215,7 @@ INSN_ENTRY(opt_mod)
|
|
|
3171
3215
|
|
|
3172
3216
|
/* ### Here we do the instruction body. ### */
|
|
3173
3217
|
# define NAME_OF_CURRENT_INSN opt_mod
|
|
3174
|
-
# line
|
|
3218
|
+
# line 1177 "insns.def"
|
|
3175
3219
|
{
|
|
3176
3220
|
val = vm_opt_mod(recv, obj);
|
|
3177
3221
|
|
|
@@ -3179,7 +3223,7 @@ INSN_ENTRY(opt_mod)
|
|
|
3179
3223
|
CALL_SIMPLE_METHOD();
|
|
3180
3224
|
}
|
|
3181
3225
|
}
|
|
3182
|
-
# line
|
|
3226
|
+
# line 3227 "vm.inc"
|
|
3183
3227
|
# undef NAME_OF_CURRENT_INSN
|
|
3184
3228
|
|
|
3185
3229
|
/* ### Instruction trailers. ### */
|
|
@@ -3218,7 +3262,7 @@ INSN_ENTRY(opt_eq)
|
|
|
3218
3262
|
|
|
3219
3263
|
/* ### Here we do the instruction body. ### */
|
|
3220
3264
|
# define NAME_OF_CURRENT_INSN opt_eq
|
|
3221
|
-
# line
|
|
3265
|
+
# line 1191 "insns.def"
|
|
3222
3266
|
{
|
|
3223
3267
|
val = opt_equality(GET_ISEQ(), recv, obj, cd);
|
|
3224
3268
|
|
|
@@ -3226,7 +3270,7 @@ INSN_ENTRY(opt_eq)
|
|
|
3226
3270
|
CALL_SIMPLE_METHOD();
|
|
3227
3271
|
}
|
|
3228
3272
|
}
|
|
3229
|
-
# line
|
|
3273
|
+
# line 3274 "vm.inc"
|
|
3230
3274
|
# undef NAME_OF_CURRENT_INSN
|
|
3231
3275
|
|
|
3232
3276
|
/* ### Instruction trailers. ### */
|
|
@@ -3267,7 +3311,7 @@ INSN_ENTRY(opt_neq)
|
|
|
3267
3311
|
|
|
3268
3312
|
/* ### Here we do the instruction body. ### */
|
|
3269
3313
|
# define NAME_OF_CURRENT_INSN opt_neq
|
|
3270
|
-
# line
|
|
3314
|
+
# line 1205 "insns.def"
|
|
3271
3315
|
{
|
|
3272
3316
|
val = vm_opt_neq(GET_ISEQ(), cd, cd_eq, recv, obj);
|
|
3273
3317
|
|
|
@@ -3275,7 +3319,7 @@ INSN_ENTRY(opt_neq)
|
|
|
3275
3319
|
CALL_SIMPLE_METHOD();
|
|
3276
3320
|
}
|
|
3277
3321
|
}
|
|
3278
|
-
# line
|
|
3322
|
+
# line 3323 "vm.inc"
|
|
3279
3323
|
# undef NAME_OF_CURRENT_INSN
|
|
3280
3324
|
|
|
3281
3325
|
/* ### Instruction trailers. ### */
|
|
@@ -3314,7 +3358,7 @@ INSN_ENTRY(opt_lt)
|
|
|
3314
3358
|
|
|
3315
3359
|
/* ### Here we do the instruction body. ### */
|
|
3316
3360
|
# define NAME_OF_CURRENT_INSN opt_lt
|
|
3317
|
-
# line
|
|
3361
|
+
# line 1219 "insns.def"
|
|
3318
3362
|
{
|
|
3319
3363
|
val = vm_opt_lt(recv, obj);
|
|
3320
3364
|
|
|
@@ -3322,7 +3366,7 @@ INSN_ENTRY(opt_lt)
|
|
|
3322
3366
|
CALL_SIMPLE_METHOD();
|
|
3323
3367
|
}
|
|
3324
3368
|
}
|
|
3325
|
-
# line
|
|
3369
|
+
# line 3370 "vm.inc"
|
|
3326
3370
|
# undef NAME_OF_CURRENT_INSN
|
|
3327
3371
|
|
|
3328
3372
|
/* ### Instruction trailers. ### */
|
|
@@ -3361,7 +3405,7 @@ INSN_ENTRY(opt_le)
|
|
|
3361
3405
|
|
|
3362
3406
|
/* ### Here we do the instruction body. ### */
|
|
3363
3407
|
# define NAME_OF_CURRENT_INSN opt_le
|
|
3364
|
-
# line
|
|
3408
|
+
# line 1233 "insns.def"
|
|
3365
3409
|
{
|
|
3366
3410
|
val = vm_opt_le(recv, obj);
|
|
3367
3411
|
|
|
@@ -3369,7 +3413,7 @@ INSN_ENTRY(opt_le)
|
|
|
3369
3413
|
CALL_SIMPLE_METHOD();
|
|
3370
3414
|
}
|
|
3371
3415
|
}
|
|
3372
|
-
# line
|
|
3416
|
+
# line 3417 "vm.inc"
|
|
3373
3417
|
# undef NAME_OF_CURRENT_INSN
|
|
3374
3418
|
|
|
3375
3419
|
/* ### Instruction trailers. ### */
|
|
@@ -3408,7 +3452,7 @@ INSN_ENTRY(opt_gt)
|
|
|
3408
3452
|
|
|
3409
3453
|
/* ### Here we do the instruction body. ### */
|
|
3410
3454
|
# define NAME_OF_CURRENT_INSN opt_gt
|
|
3411
|
-
# line
|
|
3455
|
+
# line 1247 "insns.def"
|
|
3412
3456
|
{
|
|
3413
3457
|
val = vm_opt_gt(recv, obj);
|
|
3414
3458
|
|
|
@@ -3416,7 +3460,7 @@ INSN_ENTRY(opt_gt)
|
|
|
3416
3460
|
CALL_SIMPLE_METHOD();
|
|
3417
3461
|
}
|
|
3418
3462
|
}
|
|
3419
|
-
# line
|
|
3463
|
+
# line 3464 "vm.inc"
|
|
3420
3464
|
# undef NAME_OF_CURRENT_INSN
|
|
3421
3465
|
|
|
3422
3466
|
/* ### Instruction trailers. ### */
|
|
@@ -3455,7 +3499,7 @@ INSN_ENTRY(opt_ge)
|
|
|
3455
3499
|
|
|
3456
3500
|
/* ### Here we do the instruction body. ### */
|
|
3457
3501
|
# define NAME_OF_CURRENT_INSN opt_ge
|
|
3458
|
-
# line
|
|
3502
|
+
# line 1261 "insns.def"
|
|
3459
3503
|
{
|
|
3460
3504
|
val = vm_opt_ge(recv, obj);
|
|
3461
3505
|
|
|
@@ -3463,7 +3507,7 @@ INSN_ENTRY(opt_ge)
|
|
|
3463
3507
|
CALL_SIMPLE_METHOD();
|
|
3464
3508
|
}
|
|
3465
3509
|
}
|
|
3466
|
-
# line
|
|
3510
|
+
# line 3511 "vm.inc"
|
|
3467
3511
|
# undef NAME_OF_CURRENT_INSN
|
|
3468
3512
|
|
|
3469
3513
|
/* ### Instruction trailers. ### */
|
|
@@ -3502,7 +3546,7 @@ INSN_ENTRY(opt_ltlt)
|
|
|
3502
3546
|
|
|
3503
3547
|
/* ### Here we do the instruction body. ### */
|
|
3504
3548
|
# define NAME_OF_CURRENT_INSN opt_ltlt
|
|
3505
|
-
# line
|
|
3549
|
+
# line 1279 "insns.def"
|
|
3506
3550
|
{
|
|
3507
3551
|
val = vm_opt_ltlt(recv, obj);
|
|
3508
3552
|
|
|
@@ -3510,7 +3554,7 @@ INSN_ENTRY(opt_ltlt)
|
|
|
3510
3554
|
CALL_SIMPLE_METHOD();
|
|
3511
3555
|
}
|
|
3512
3556
|
}
|
|
3513
|
-
# line
|
|
3557
|
+
# line 3558 "vm.inc"
|
|
3514
3558
|
# undef NAME_OF_CURRENT_INSN
|
|
3515
3559
|
|
|
3516
3560
|
/* ### Instruction trailers. ### */
|
|
@@ -3549,7 +3593,7 @@ INSN_ENTRY(opt_and)
|
|
|
3549
3593
|
|
|
3550
3594
|
/* ### Here we do the instruction body. ### */
|
|
3551
3595
|
# define NAME_OF_CURRENT_INSN opt_and
|
|
3552
|
-
# line
|
|
3596
|
+
# line 1293 "insns.def"
|
|
3553
3597
|
{
|
|
3554
3598
|
val = vm_opt_and(recv, obj);
|
|
3555
3599
|
|
|
@@ -3557,7 +3601,7 @@ INSN_ENTRY(opt_and)
|
|
|
3557
3601
|
CALL_SIMPLE_METHOD();
|
|
3558
3602
|
}
|
|
3559
3603
|
}
|
|
3560
|
-
# line
|
|
3604
|
+
# line 3605 "vm.inc"
|
|
3561
3605
|
# undef NAME_OF_CURRENT_INSN
|
|
3562
3606
|
|
|
3563
3607
|
/* ### Instruction trailers. ### */
|
|
@@ -3596,7 +3640,7 @@ INSN_ENTRY(opt_or)
|
|
|
3596
3640
|
|
|
3597
3641
|
/* ### Here we do the instruction body. ### */
|
|
3598
3642
|
# define NAME_OF_CURRENT_INSN opt_or
|
|
3599
|
-
# line
|
|
3643
|
+
# line 1307 "insns.def"
|
|
3600
3644
|
{
|
|
3601
3645
|
val = vm_opt_or(recv, obj);
|
|
3602
3646
|
|
|
@@ -3604,7 +3648,7 @@ INSN_ENTRY(opt_or)
|
|
|
3604
3648
|
CALL_SIMPLE_METHOD();
|
|
3605
3649
|
}
|
|
3606
3650
|
}
|
|
3607
|
-
# line
|
|
3651
|
+
# line 3652 "vm.inc"
|
|
3608
3652
|
# undef NAME_OF_CURRENT_INSN
|
|
3609
3653
|
|
|
3610
3654
|
/* ### Instruction trailers. ### */
|
|
@@ -3643,7 +3687,7 @@ INSN_ENTRY(opt_aref)
|
|
|
3643
3687
|
|
|
3644
3688
|
/* ### Here we do the instruction body. ### */
|
|
3645
3689
|
# define NAME_OF_CURRENT_INSN opt_aref
|
|
3646
|
-
# line
|
|
3690
|
+
# line 1326 "insns.def"
|
|
3647
3691
|
{
|
|
3648
3692
|
val = vm_opt_aref(recv, obj);
|
|
3649
3693
|
|
|
@@ -3651,7 +3695,7 @@ INSN_ENTRY(opt_aref)
|
|
|
3651
3695
|
CALL_SIMPLE_METHOD();
|
|
3652
3696
|
}
|
|
3653
3697
|
}
|
|
3654
|
-
# line
|
|
3698
|
+
# line 3699 "vm.inc"
|
|
3655
3699
|
# undef NAME_OF_CURRENT_INSN
|
|
3656
3700
|
|
|
3657
3701
|
/* ### Instruction trailers. ### */
|
|
@@ -3691,7 +3735,7 @@ INSN_ENTRY(opt_aset)
|
|
|
3691
3735
|
|
|
3692
3736
|
/* ### Here we do the instruction body. ### */
|
|
3693
3737
|
# define NAME_OF_CURRENT_INSN opt_aset
|
|
3694
|
-
# line
|
|
3738
|
+
# line 1343 "insns.def"
|
|
3695
3739
|
{
|
|
3696
3740
|
val = vm_opt_aset(recv, obj, set);
|
|
3697
3741
|
|
|
@@ -3699,7 +3743,7 @@ INSN_ENTRY(opt_aset)
|
|
|
3699
3743
|
CALL_SIMPLE_METHOD();
|
|
3700
3744
|
}
|
|
3701
3745
|
}
|
|
3702
|
-
# line
|
|
3746
|
+
# line 3747 "vm.inc"
|
|
3703
3747
|
# undef NAME_OF_CURRENT_INSN
|
|
3704
3748
|
|
|
3705
3749
|
/* ### Instruction trailers. ### */
|
|
@@ -3739,7 +3783,7 @@ INSN_ENTRY(opt_aset_with)
|
|
|
3739
3783
|
|
|
3740
3784
|
/* ### Here we do the instruction body. ### */
|
|
3741
3785
|
# define NAME_OF_CURRENT_INSN opt_aset_with
|
|
3742
|
-
# line
|
|
3786
|
+
# line 1359 "insns.def"
|
|
3743
3787
|
{
|
|
3744
3788
|
VALUE tmp = vm_opt_aset_with(recv, key, val);
|
|
3745
3789
|
|
|
@@ -3752,7 +3796,7 @@ INSN_ENTRY(opt_aset_with)
|
|
|
3752
3796
|
CALL_SIMPLE_METHOD();
|
|
3753
3797
|
}
|
|
3754
3798
|
}
|
|
3755
|
-
# line
|
|
3799
|
+
# line 3800 "vm.inc"
|
|
3756
3800
|
# undef NAME_OF_CURRENT_INSN
|
|
3757
3801
|
|
|
3758
3802
|
/* ### Instruction trailers. ### */
|
|
@@ -3792,7 +3836,7 @@ INSN_ENTRY(opt_aref_with)
|
|
|
3792
3836
|
|
|
3793
3837
|
/* ### Here we do the instruction body. ### */
|
|
3794
3838
|
# define NAME_OF_CURRENT_INSN opt_aref_with
|
|
3795
|
-
# line
|
|
3839
|
+
# line 1380 "insns.def"
|
|
3796
3840
|
{
|
|
3797
3841
|
val = vm_opt_aref_with(recv, key);
|
|
3798
3842
|
|
|
@@ -3801,7 +3845,7 @@ INSN_ENTRY(opt_aref_with)
|
|
|
3801
3845
|
CALL_SIMPLE_METHOD();
|
|
3802
3846
|
}
|
|
3803
3847
|
}
|
|
3804
|
-
# line
|
|
3848
|
+
# line 3849 "vm.inc"
|
|
3805
3849
|
# undef NAME_OF_CURRENT_INSN
|
|
3806
3850
|
|
|
3807
3851
|
/* ### Instruction trailers. ### */
|
|
@@ -3839,7 +3883,7 @@ INSN_ENTRY(opt_length)
|
|
|
3839
3883
|
|
|
3840
3884
|
/* ### Here we do the instruction body. ### */
|
|
3841
3885
|
# define NAME_OF_CURRENT_INSN opt_length
|
|
3842
|
-
# line
|
|
3886
|
+
# line 1395 "insns.def"
|
|
3843
3887
|
{
|
|
3844
3888
|
val = vm_opt_length(recv, BOP_LENGTH);
|
|
3845
3889
|
|
|
@@ -3847,7 +3891,7 @@ INSN_ENTRY(opt_length)
|
|
|
3847
3891
|
CALL_SIMPLE_METHOD();
|
|
3848
3892
|
}
|
|
3849
3893
|
}
|
|
3850
|
-
# line
|
|
3894
|
+
# line 3895 "vm.inc"
|
|
3851
3895
|
# undef NAME_OF_CURRENT_INSN
|
|
3852
3896
|
|
|
3853
3897
|
/* ### Instruction trailers. ### */
|
|
@@ -3885,7 +3929,7 @@ INSN_ENTRY(opt_size)
|
|
|
3885
3929
|
|
|
3886
3930
|
/* ### Here we do the instruction body. ### */
|
|
3887
3931
|
# define NAME_OF_CURRENT_INSN opt_size
|
|
3888
|
-
# line
|
|
3932
|
+
# line 1409 "insns.def"
|
|
3889
3933
|
{
|
|
3890
3934
|
val = vm_opt_length(recv, BOP_SIZE);
|
|
3891
3935
|
|
|
@@ -3893,7 +3937,7 @@ INSN_ENTRY(opt_size)
|
|
|
3893
3937
|
CALL_SIMPLE_METHOD();
|
|
3894
3938
|
}
|
|
3895
3939
|
}
|
|
3896
|
-
# line
|
|
3940
|
+
# line 3941 "vm.inc"
|
|
3897
3941
|
# undef NAME_OF_CURRENT_INSN
|
|
3898
3942
|
|
|
3899
3943
|
/* ### Instruction trailers. ### */
|
|
@@ -3931,7 +3975,7 @@ INSN_ENTRY(opt_empty_p)
|
|
|
3931
3975
|
|
|
3932
3976
|
/* ### Here we do the instruction body. ### */
|
|
3933
3977
|
# define NAME_OF_CURRENT_INSN opt_empty_p
|
|
3934
|
-
# line
|
|
3978
|
+
# line 1423 "insns.def"
|
|
3935
3979
|
{
|
|
3936
3980
|
val = vm_opt_empty_p(recv);
|
|
3937
3981
|
|
|
@@ -3939,7 +3983,7 @@ INSN_ENTRY(opt_empty_p)
|
|
|
3939
3983
|
CALL_SIMPLE_METHOD();
|
|
3940
3984
|
}
|
|
3941
3985
|
}
|
|
3942
|
-
# line
|
|
3986
|
+
# line 3987 "vm.inc"
|
|
3943
3987
|
# undef NAME_OF_CURRENT_INSN
|
|
3944
3988
|
|
|
3945
3989
|
/* ### Instruction trailers. ### */
|
|
@@ -3977,7 +4021,7 @@ INSN_ENTRY(opt_succ)
|
|
|
3977
4021
|
|
|
3978
4022
|
/* ### Here we do the instruction body. ### */
|
|
3979
4023
|
# define NAME_OF_CURRENT_INSN opt_succ
|
|
3980
|
-
# line
|
|
4024
|
+
# line 1437 "insns.def"
|
|
3981
4025
|
{
|
|
3982
4026
|
val = vm_opt_succ(recv);
|
|
3983
4027
|
|
|
@@ -3985,7 +4029,7 @@ INSN_ENTRY(opt_succ)
|
|
|
3985
4029
|
CALL_SIMPLE_METHOD();
|
|
3986
4030
|
}
|
|
3987
4031
|
}
|
|
3988
|
-
# line
|
|
4032
|
+
# line 4033 "vm.inc"
|
|
3989
4033
|
# undef NAME_OF_CURRENT_INSN
|
|
3990
4034
|
|
|
3991
4035
|
/* ### Instruction trailers. ### */
|
|
@@ -4023,7 +4067,7 @@ INSN_ENTRY(opt_not)
|
|
|
4023
4067
|
|
|
4024
4068
|
/* ### Here we do the instruction body. ### */
|
|
4025
4069
|
# define NAME_OF_CURRENT_INSN opt_not
|
|
4026
|
-
# line
|
|
4070
|
+
# line 1451 "insns.def"
|
|
4027
4071
|
{
|
|
4028
4072
|
val = vm_opt_not(GET_ISEQ(), cd, recv);
|
|
4029
4073
|
|
|
@@ -4031,7 +4075,7 @@ INSN_ENTRY(opt_not)
|
|
|
4031
4075
|
CALL_SIMPLE_METHOD();
|
|
4032
4076
|
}
|
|
4033
4077
|
}
|
|
4034
|
-
# line
|
|
4078
|
+
# line 4079 "vm.inc"
|
|
4035
4079
|
# undef NAME_OF_CURRENT_INSN
|
|
4036
4080
|
|
|
4037
4081
|
/* ### Instruction trailers. ### */
|
|
@@ -4070,7 +4114,7 @@ INSN_ENTRY(opt_regexpmatch2)
|
|
|
4070
4114
|
|
|
4071
4115
|
/* ### Here we do the instruction body. ### */
|
|
4072
4116
|
# define NAME_OF_CURRENT_INSN opt_regexpmatch2
|
|
4073
|
-
# line
|
|
4117
|
+
# line 1466 "insns.def"
|
|
4074
4118
|
{
|
|
4075
4119
|
val = vm_opt_regexpmatch2(obj2, obj1);
|
|
4076
4120
|
|
|
@@ -4078,7 +4122,7 @@ INSN_ENTRY(opt_regexpmatch2)
|
|
|
4078
4122
|
CALL_SIMPLE_METHOD();
|
|
4079
4123
|
}
|
|
4080
4124
|
}
|
|
4081
|
-
# line
|
|
4125
|
+
# line 4126 "vm.inc"
|
|
4082
4126
|
# undef NAME_OF_CURRENT_INSN
|
|
4083
4127
|
|
|
4084
4128
|
/* ### Instruction trailers. ### */
|
|
@@ -4115,11 +4159,11 @@ INSN_ENTRY(invokebuiltin)
|
|
|
4115
4159
|
|
|
4116
4160
|
/* ### Here we do the instruction body. ### */
|
|
4117
4161
|
# define NAME_OF_CURRENT_INSN invokebuiltin
|
|
4118
|
-
# line
|
|
4162
|
+
# line 1482 "insns.def"
|
|
4119
4163
|
{
|
|
4120
4164
|
val = vm_invoke_builtin(ec, reg_cfp, bf, STACK_ADDR_FROM_TOP(bf->argc));
|
|
4121
4165
|
}
|
|
4122
|
-
# line
|
|
4166
|
+
# line 4167 "vm.inc"
|
|
4123
4167
|
# undef NAME_OF_CURRENT_INSN
|
|
4124
4168
|
|
|
4125
4169
|
/* ### Instruction trailers. ### */
|
|
@@ -4158,11 +4202,11 @@ INSN_ENTRY(opt_invokebuiltin_delegate)
|
|
|
4158
4202
|
|
|
4159
4203
|
/* ### Here we do the instruction body. ### */
|
|
4160
4204
|
# define NAME_OF_CURRENT_INSN opt_invokebuiltin_delegate
|
|
4161
|
-
# line
|
|
4205
|
+
# line 1493 "insns.def"
|
|
4162
4206
|
{
|
|
4163
4207
|
val = vm_invoke_builtin_delegate(ec, reg_cfp, bf, (unsigned int)index);
|
|
4164
4208
|
}
|
|
4165
|
-
# line
|
|
4209
|
+
# line 4210 "vm.inc"
|
|
4166
4210
|
# undef NAME_OF_CURRENT_INSN
|
|
4167
4211
|
|
|
4168
4212
|
/* ### Instruction trailers. ### */
|
|
@@ -4201,7 +4245,7 @@ INSN_ENTRY(opt_invokebuiltin_delegate_leave)
|
|
|
4201
4245
|
|
|
4202
4246
|
/* ### Here we do the instruction body. ### */
|
|
4203
4247
|
# define NAME_OF_CURRENT_INSN opt_invokebuiltin_delegate_leave
|
|
4204
|
-
# line
|
|
4248
|
+
# line 1504 "insns.def"
|
|
4205
4249
|
{
|
|
4206
4250
|
val = vm_invoke_builtin_delegate(ec, reg_cfp, bf, (unsigned int)index);
|
|
4207
4251
|
|
|
@@ -4219,7 +4263,7 @@ INSN_ENTRY(opt_invokebuiltin_delegate_leave)
|
|
|
4219
4263
|
RESTORE_REGS();
|
|
4220
4264
|
}
|
|
4221
4265
|
}
|
|
4222
|
-
# line
|
|
4266
|
+
# line 4267 "vm.inc"
|
|
4223
4267
|
# undef NAME_OF_CURRENT_INSN
|
|
4224
4268
|
|
|
4225
4269
|
/* ### Instruction trailers. ### */
|
|
@@ -4245,7 +4289,7 @@ INSN_ENTRY(getlocal_WC_0)
|
|
|
4245
4289
|
/* ### Declare and assign variables. ### */
|
|
4246
4290
|
#line 10 "defs/opt_operand.def"
|
|
4247
4291
|
const rb_num_t level = 0;
|
|
4248
|
-
#line
|
|
4292
|
+
#line 4293 "vm.inc"
|
|
4249
4293
|
lindex_t idx = (lindex_t)GET_OPERAND(1);
|
|
4250
4294
|
# define INSN_ATTR(x) attr_ ## x ## _getlocal_WC_0(idx)
|
|
4251
4295
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
|
@@ -4265,7 +4309,7 @@ INSN_ENTRY(getlocal_WC_0)
|
|
|
4265
4309
|
RB_DEBUG_COUNTER_INC(lvar_get);
|
|
4266
4310
|
(void)RB_DEBUG_COUNTER_INC_IF(lvar_get_dynamic, level > 0);
|
|
4267
4311
|
}
|
|
4268
|
-
# line
|
|
4312
|
+
# line 4313 "vm.inc"
|
|
4269
4313
|
# undef NAME_OF_CURRENT_INSN
|
|
4270
4314
|
|
|
4271
4315
|
/* ### Instruction trailers. ### */
|
|
@@ -4291,7 +4335,7 @@ INSN_ENTRY(getlocal_WC_1)
|
|
|
4291
4335
|
/* ### Declare and assign variables. ### */
|
|
4292
4336
|
#line 11 "defs/opt_operand.def"
|
|
4293
4337
|
const rb_num_t level = 1;
|
|
4294
|
-
#line
|
|
4338
|
+
#line 4339 "vm.inc"
|
|
4295
4339
|
lindex_t idx = (lindex_t)GET_OPERAND(1);
|
|
4296
4340
|
# define INSN_ATTR(x) attr_ ## x ## _getlocal_WC_1(idx)
|
|
4297
4341
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
|
@@ -4311,7 +4355,7 @@ INSN_ENTRY(getlocal_WC_1)
|
|
|
4311
4355
|
RB_DEBUG_COUNTER_INC(lvar_get);
|
|
4312
4356
|
(void)RB_DEBUG_COUNTER_INC_IF(lvar_get_dynamic, level > 0);
|
|
4313
4357
|
}
|
|
4314
|
-
# line
|
|
4358
|
+
# line 4359 "vm.inc"
|
|
4315
4359
|
# undef NAME_OF_CURRENT_INSN
|
|
4316
4360
|
|
|
4317
4361
|
/* ### Instruction trailers. ### */
|
|
@@ -4337,7 +4381,7 @@ INSN_ENTRY(setlocal_WC_0)
|
|
|
4337
4381
|
/* ### Declare and assign variables. ### */
|
|
4338
4382
|
#line 12 "defs/opt_operand.def"
|
|
4339
4383
|
const rb_num_t level = 0;
|
|
4340
|
-
#line
|
|
4384
|
+
#line 4385 "vm.inc"
|
|
4341
4385
|
lindex_t idx = (lindex_t)GET_OPERAND(1);
|
|
4342
4386
|
# define INSN_ATTR(x) attr_ ## x ## _setlocal_WC_0(idx)
|
|
4343
4387
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
|
@@ -4357,7 +4401,7 @@ INSN_ENTRY(setlocal_WC_0)
|
|
|
4357
4401
|
RB_DEBUG_COUNTER_INC(lvar_set);
|
|
4358
4402
|
(void)RB_DEBUG_COUNTER_INC_IF(lvar_set_dynamic, level > 0);
|
|
4359
4403
|
}
|
|
4360
|
-
# line
|
|
4404
|
+
# line 4405 "vm.inc"
|
|
4361
4405
|
# undef NAME_OF_CURRENT_INSN
|
|
4362
4406
|
|
|
4363
4407
|
/* ### Instruction trailers. ### */
|
|
@@ -4380,7 +4424,7 @@ INSN_ENTRY(setlocal_WC_1)
|
|
|
4380
4424
|
/* ### Declare and assign variables. ### */
|
|
4381
4425
|
#line 13 "defs/opt_operand.def"
|
|
4382
4426
|
const rb_num_t level = 1;
|
|
4383
|
-
#line
|
|
4427
|
+
#line 4428 "vm.inc"
|
|
4384
4428
|
lindex_t idx = (lindex_t)GET_OPERAND(1);
|
|
4385
4429
|
# define INSN_ATTR(x) attr_ ## x ## _setlocal_WC_1(idx)
|
|
4386
4430
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
|
@@ -4400,7 +4444,7 @@ INSN_ENTRY(setlocal_WC_1)
|
|
|
4400
4444
|
RB_DEBUG_COUNTER_INC(lvar_set);
|
|
4401
4445
|
(void)RB_DEBUG_COUNTER_INC_IF(lvar_set_dynamic, level > 0);
|
|
4402
4446
|
}
|
|
4403
|
-
# line
|
|
4447
|
+
# line 4448 "vm.inc"
|
|
4404
4448
|
# undef NAME_OF_CURRENT_INSN
|
|
4405
4449
|
|
|
4406
4450
|
/* ### Instruction trailers. ### */
|
|
@@ -4423,7 +4467,7 @@ INSN_ENTRY(putobject_INT2FIX_0_)
|
|
|
4423
4467
|
/* ### Declare and assign variables. ### */
|
|
4424
4468
|
#line 15 "defs/opt_operand.def"
|
|
4425
4469
|
const VALUE val = INT2FIX(0);
|
|
4426
|
-
#line
|
|
4470
|
+
#line 4471 "vm.inc"
|
|
4427
4471
|
# define INSN_ATTR(x) attr_ ## x ## _putobject_INT2FIX_0_()
|
|
4428
4472
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
|
4429
4473
|
|
|
@@ -4453,7 +4497,7 @@ INSN_ENTRY(putobject_INT2FIX_1_)
|
|
|
4453
4497
|
/* ### Declare and assign variables. ### */
|
|
4454
4498
|
#line 16 "defs/opt_operand.def"
|
|
4455
4499
|
const VALUE val = INT2FIX(1);
|
|
4456
|
-
#line
|
|
4500
|
+
#line 4501 "vm.inc"
|
|
4457
4501
|
# define INSN_ATTR(x) attr_ ## x ## _putobject_INT2FIX_1_()
|
|
4458
4502
|
const bool MAYBE_UNUSED(leaf) = INSN_ATTR(leaf);
|
|
4459
4503
|
|
|
@@ -4770,6 +4814,15 @@ INSN_ENTRY(trace_splatarray)
|
|
|
4770
4814
|
END_INSN(trace_splatarray);
|
|
4771
4815
|
}
|
|
4772
4816
|
|
|
4817
|
+
/* insn trace_splatkw(...)(...)(...) */
|
|
4818
|
+
INSN_ENTRY(trace_splatkw)
|
|
4819
|
+
{
|
|
4820
|
+
vm_trace(ec, GET_CFP());
|
|
4821
|
+
|
|
4822
|
+
DISPATCH_ORIGINAL_INSN(splatkw);
|
|
4823
|
+
END_INSN(trace_splatkw);
|
|
4824
|
+
}
|
|
4825
|
+
|
|
4773
4826
|
/* insn trace_newhash(...)(...)(...) */
|
|
4774
4827
|
INSN_ENTRY(trace_newhash)
|
|
4775
4828
|
{
|