debase-ruby_core_source 3.2.3 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
{
|