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.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ccan/list/list.h +4 -2
  4. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/dln.h +1 -0
  5. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/eval_intern.h +4 -2
  6. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/insns.inc +2 -0
  7. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/insns_info.inc +269 -187
  8. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/class.h +46 -0
  9. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/cont.h +3 -0
  10. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/encoding.h +3 -0
  11. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/error.h +3 -0
  12. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/gc.h +2 -0
  13. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/object.h +1 -0
  14. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/random.h +1 -0
  15. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/string.h +0 -1
  16. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/symbol.h +3 -0
  17. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/thread.h +3 -0
  18. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/transcode.h +3 -0
  19. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/variable.h +5 -3
  20. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/vm.h +5 -0
  21. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/iseq.h +5 -1
  22. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/method.h +0 -1
  23. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/optunifs.inc +1 -1
  24. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/parse.h +2 -2
  25. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/prism_compile.h +12 -1
  26. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/revision.h +5 -0
  27. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/rjit.h +6 -8
  28. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/rjit_c.h +0 -1
  29. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/rubyparser.h +1 -1
  30. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/shape.h +2 -12
  31. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/thread_pthread.h +1 -1
  32. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/variable.h +2 -0
  33. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/version.h +1 -1
  34. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm.inc +189 -136
  35. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_callinfo.h +8 -1
  36. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_core.h +64 -5
  37. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_insnhelper.h +4 -14
  38. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vmtc.inc +2 -0
  39. data/lib/debase/ruby_core_source/version.rb +1 -1
  40. metadata +121 -121
  41. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/revision.h +0 -5
  42. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/addr2line.h +0 -0
  43. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/builtin.h +0 -0
  44. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ccan/build_assert/build_assert.h +0 -0
  45. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ccan/check_type/check_type.h +0 -0
  46. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ccan/container_of/container_of.h +0 -0
  47. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ccan/str/str.h +0 -0
  48. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/constant.h +0 -0
  49. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/darray.h +0 -0
  50. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/debug_counter.h +0 -0
  51. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/encindex.h +0 -0
  52. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/hrtime.h +0 -0
  53. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/id.h +0 -0
  54. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/id_table.h +0 -0
  55. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/array.h +0 -0
  56. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/basic_operators.h +0 -0
  57. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/bignum.h +0 -0
  58. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/bits.h +0 -0
  59. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/cmdlineopt.h +0 -0
  60. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/compar.h +0 -0
  61. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/compile.h +0 -0
  62. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/compilers.h +0 -0
  63. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/complex.h +0 -0
  64. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/dir.h +0 -0
  65. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/enc.h +0 -0
  66. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/enum.h +0 -0
  67. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/enumerator.h +0 -0
  68. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/eval.h +0 -0
  69. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/file.h +0 -0
  70. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/fixnum.h +0 -0
  71. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/hash.h +0 -0
  72. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/imemo.h +0 -0
  73. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/inits.h +0 -0
  74. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/io.h +0 -0
  75. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/load.h +0 -0
  76. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/loadpath.h +0 -0
  77. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/math.h +0 -0
  78. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/missing.h +0 -0
  79. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/numeric.h +0 -0
  80. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/parse.h +0 -0
  81. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/proc.h +0 -0
  82. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/process.h +0 -0
  83. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/ractor.h +0 -0
  84. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/range.h +0 -0
  85. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/rational.h +0 -0
  86. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/re.h +0 -0
  87. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/ruby_parser.h +0 -0
  88. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/sanitizers.h +0 -0
  89. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/serial.h +0 -0
  90. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/signal.h +0 -0
  91. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/static_assert.h +0 -0
  92. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/struct.h +0 -0
  93. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/time.h +0 -0
  94. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/util.h +0 -0
  95. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal/warnings.h +0 -0
  96. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/internal.h +0 -0
  97. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/known_errors.inc +0 -0
  98. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/node.h +0 -0
  99. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/node_name.inc +0 -0
  100. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/optinsn.inc +0 -0
  101. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/parser_bits.h +0 -0
  102. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/parser_node.h +0 -0
  103. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/parser_st.h +0 -0
  104. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/parser_value.h +0 -0
  105. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/probes_helper.h +0 -0
  106. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ractor_core.h +0 -0
  107. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/regenc.h +0 -0
  108. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/regint.h +0 -0
  109. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/regparse.h +0 -0
  110. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ruby_assert.h +0 -0
  111. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/ruby_atomic.h +0 -0
  112. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/siphash.h +0 -0
  113. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/symbol.h +0 -0
  114. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/thread_none.h +0 -0
  115. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/thread_win32.h +0 -0
  116. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/timev.h +0 -0
  117. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/transcode_data.h +0 -0
  118. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_call_iseq_optimized.inc +0 -0
  119. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_debug.h +0 -0
  120. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_exec.h +0 -0
  121. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_opts.h +0 -0
  122. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview3 → ruby-3.3.0-p0}/vm_sync.h +0 -0
  123. /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 503 "insns.def"
1335
+ # line 504 "insns.def"
1335
1336
  {
1336
- vm_expandarray(GET_SP(), ary, num, (int)flag);
1337
+ vm_expandarray(GET_CFP(), ary, num, (int)flag);
1337
1338
  }
1338
- # line 1339 "vm.inc"
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 514 "insns.def"
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 525 "insns.def"
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 537 "insns.def"
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 1467 "vm.inc"
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 557 "insns.def"
1549
+ # line 569 "insns.def"
1506
1550
  {
1507
1551
  val = rb_range_new(low, high, (int)flag);
1508
1552
  }
1509
- # line 1510 "vm.inc"
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 571 "insns.def"
1588
+ # line 583 "insns.def"
1545
1589
  {
1546
1590
  (void)val;
1547
1591
  /* none */
1548
1592
  }
1549
- # line 1550 "vm.inc"
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 582 "insns.def"
1627
+ # line 594 "insns.def"
1584
1628
  {
1585
1629
  val1 = val2 = val;
1586
1630
  }
1587
- # line 1588 "vm.inc"
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 593 "insns.def"
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 1633 "vm.inc"
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 617 "insns.def"
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 1708 "vm.inc"
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 647 "insns.def"
1784
+ # line 659 "insns.def"
1741
1785
  {
1742
1786
  val = TOPN(n);
1743
1787
  }
1744
- # line 1745 "vm.inc"
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 658 "insns.def"
1825
+ # line 670 "insns.def"
1782
1826
  {
1783
1827
  TOPN(n) = val;
1784
1828
  }
1785
- # line 1786 "vm.inc"
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 684 "insns.def"
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 1861 "vm.inc"
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 698 "insns.def"
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 1909 "vm.inc"
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 718 "insns.def"
1991
+ # line 730 "insns.def"
1948
1992
  {
1949
1993
  result = vm_check_match(ec, target, pattern, flag);
1950
1994
  }
1951
- # line 1952 "vm.inc"
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 728 "insns.def"
2034
+ # line 740 "insns.def"
1991
2035
  {
1992
2036
  ret = vm_check_keyword(kw_bits_index, keyword_index, GET_EP());
1993
2037
  }
1994
- # line 1995 "vm.inc"
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 738 "insns.def"
2076
+ # line 750 "insns.def"
2033
2077
  {
2034
2078
  ret = RBOOL(TYPE(val) == (int)type);
2035
2079
  }
2036
- # line 2037 "vm.inc"
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 754 "insns.def"
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 2097 "vm.inc"
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 775 "insns.def"
2176
+ # line 787 "insns.def"
2133
2177
  {
2134
2178
  vm_define_method(ec, Qnil, id, (VALUE)iseq, FALSE);
2135
2179
  }
2136
- # line 2137 "vm.inc"
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 784 "insns.def"
2216
+ # line 796 "insns.def"
2173
2217
  {
2174
2218
  vm_define_method(ec, obj, id, (VALUE)iseq, TRUE);
2175
2219
  }
2176
- # line 2177 "vm.inc"
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 800 "insns.def"
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 2224 "vm.inc"
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 820 "insns.def"
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 2270 "vm.inc"
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 838 "insns.def"
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 2313 "vm.inc"
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 851 "insns.def"
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 2361 "vm.inc"
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 866 "insns.def"
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 2407 "vm.inc"
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 879 "insns.def"
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 2455 "vm.inc"
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 900 "insns.def"
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 2510 "vm.inc"
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 924 "insns.def"
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 2561 "vm.inc"
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 944 "insns.def"
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 2607 "vm.inc"
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 966 "insns.def"
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 2661 "vm.inc"
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 999 "insns.def"
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 2702 "vm.inc"
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 1017 "insns.def"
2781
+ # line 1029 "insns.def"
2738
2782
  {
2739
2783
  RUBY_VM_CHECK_INTS(ec);
2740
2784
  JUMP(dst);
2741
2785
  }
2742
- # line 2743 "vm.inc"
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 1030 "insns.def"
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 2784 "vm.inc"
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 1045 "insns.def"
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 2825 "vm.inc"
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 1060 "insns.def"
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 2866 "vm.inc"
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 1077 "insns.def"
2946
+ # line 1089 "insns.def"
2903
2947
  {
2904
2948
  val = vm_once_dispatch(ec, iseq, ise);
2905
2949
  }
2906
- # line 2907 "vm.inc"
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 1088 "insns.def"
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 2951 "vm.inc"
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 1104 "insns.def"
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 2995 "vm.inc"
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 1118 "insns.def"
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 3042 "vm.inc"
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 1132 "insns.def"
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 3089 "vm.inc"
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 1149 "insns.def"
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 3136 "vm.inc"
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 1165 "insns.def"
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 3183 "vm.inc"
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 1179 "insns.def"
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 3230 "vm.inc"
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 1193 "insns.def"
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 3279 "vm.inc"
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 1207 "insns.def"
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 3326 "vm.inc"
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 1221 "insns.def"
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 3373 "vm.inc"
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 1235 "insns.def"
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 3420 "vm.inc"
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 1249 "insns.def"
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 3467 "vm.inc"
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 1267 "insns.def"
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 3514 "vm.inc"
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 1281 "insns.def"
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 3561 "vm.inc"
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 1295 "insns.def"
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 3608 "vm.inc"
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 1314 "insns.def"
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 3655 "vm.inc"
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 1331 "insns.def"
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 3703 "vm.inc"
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 1347 "insns.def"
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 3756 "vm.inc"
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 1368 "insns.def"
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 3805 "vm.inc"
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 1383 "insns.def"
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 3851 "vm.inc"
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 1397 "insns.def"
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 3897 "vm.inc"
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 1411 "insns.def"
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 3943 "vm.inc"
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 1425 "insns.def"
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 3989 "vm.inc"
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 1439 "insns.def"
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 4035 "vm.inc"
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 1454 "insns.def"
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 4082 "vm.inc"
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 1470 "insns.def"
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 4123 "vm.inc"
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 1481 "insns.def"
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 4166 "vm.inc"
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 1492 "insns.def"
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 4223 "vm.inc"
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 4249 "vm.inc"
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 4269 "vm.inc"
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 4295 "vm.inc"
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 4315 "vm.inc"
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 4341 "vm.inc"
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 4361 "vm.inc"
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 4384 "vm.inc"
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 4404 "vm.inc"
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 4427 "vm.inc"
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 4457 "vm.inc"
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
  {